| With the development of the technology in smart phones and mobile Internet, "Phubbing" grows increasingly, smart phones and other mobile devices have become the most important tools that people use them to get information, which also rise the research in mobile application. These years, the concept of "cook economics" became popular in the mobile application market, some people are attracted by the APP which can provide them recipes.Now, user activity has become an important indicator of the value of APP. Most of companies think that it is out time to just offer the users an item when they request it. They are finding a new way to please users with personalize recommend. The technology of recommended system has been implemented on the server, When given huge amounts of data, the system would extract the user’s interest from the user’s behavior log. Each users will get personalized items from server. The recommendation system can improve users? feeling about the client and save the resource of humanity in companies, so that it has also become the popular mode these years.We offers a personalize recommendation to users on mobile devices with recipes, designing and implementing the information push system based on Spark. First, we designed the entire architecture of this system, a cross-client-server personalize recommendation engine based on traditional C / S model. Then, we designed a recommendation algorithm for the business about recipes from latent factor model algorithm, and implemented it on the distributed computing platform we built by Spark. A Spark-based system can be a good solution for the current recommendation system which need better computational performance, memory capacity, expansibility, and other needs.Next we use the Android SDK to implement the mobile client,which could provide users with a good user interface. As for backstage recommendation engine,the client provide data collection and recommendation feedback effect. Android devices could show notifications to users as you wish, so that we set a TCP socket in the background of client to keep data-exchanging with server, we can push our information to client when we need even if it is offline. Finally, we test the algorithm?s performance, the functions and capability of the whole system. |