code:Quotations 项目的代码库

  • t3_754443
  • 1.5MB
  • zip
  • 0
  • VIP专享
  • 0
  • 2022-06-08 03:45
每日报价 介绍 每日报价项目是一个显示报价的 Android 应用程序。 用户可以选择一个类别或通过关键字执行搜索以从数据库中查找报价。 ###Views 和用户体验该应用程序包含以下视图/功能: -Guidepages -Splashscreen -Homepage / Quote Feed -Categories -Search -Like Quote -Comment on Quote -Favorite ####Splashscreen 在加载应用程序时,启动画面会在启动时显示一个徽标。 当用户未登录时,此视图将替换为注册/登录页面。 ####Sign up / Sign in 如果用户尚未登录,此视图将出现在主页之前。 用户可以使用他们的帐户登录或使用用户名、电子邮件和密码进行注册。 此外,他们可以点击链接跳过此步骤并继续探索该应用程序,而无需某些功能,包括点赞和评论。
# Daily Quotations ### Introduction The Daily Quotations Project is an Android app that displays quotes. Users can select a category or perform a search by keywoards to find quotes from database. ###Views and User Experience The app consists of the following views/features: -Guidepages -Splashscreen -Homepage / Quote Feed -Categories -Search -Like Quote -Comment on Quote -Favorite ####Splashscreen The splashscreen shows a logo on startup while the app is loading. This view will be replaced with sign up / sign in page when user is not signed in. ####Sign up / Sign in This View will apear before homepage if user is not signed in yet. Users can sign in with their account or register with username, email, and password. Also they can tap on a link to skip this step and continue exploring the app without some features including like and comment. ####Homepage / Quote Feed Homepage shows a continuous list of quotes from database that are ordered by popularity ####Search Search view allows the user to enter one or more search keywords. The app searches the entire quote database for matching quotes (all keywords with And logic) and displays them as a list. ####Category The Category view allows the user to select quotes from different categories. When the user chooses a certain category, the scrollable list of quotes appears on the screen. ####Like Quote Users can like each quote, and see number of likes each quote has. ####Comment on Quote Users can add comment on quote by tapping on comment button on each quote. Then single quote view will appear with the quote content, a text box to write new comment, and list of past comments to that quote. ####Favorite Users can add each quote to their favorite list to keep them in touch for future. They can also remove each quote from favorite list by tapping on the favorite button. All favorite quotes are stored in favorite list view which is accessible from app menu. ------ ###Technical Spec 1. **Hardware Spec** 1. `device` This app will work on android devices. 2. `minSdkVersion` Oldest android phone can run on: API level 8, platform 2.2, FROYO. 3. `targetSdkVersion` Newest android phone can run on: API level 19, platform 4.4, KitKat. 2. **Database** 1. `` It is free/pay online back-end tools services. Developer can relay on to take care of the back-end remotely while focus on front-end work. database is one of the services we are using to host our quotes and quote categories. Database, table, and data can be created on user interface, or by use API provided kind like using Object-relational mapping. Click here to []( 2. `database table` It is remote database, we add quotes using parse interface, user can add data like registering new user. "Quotation" table store all quotes, and "Category" store all categories. The app will query quotes from Quotation table. User **HAVE TO** be able to connect to internet to get the quotes. ![alt text]( 3. `register account` Developer need to register an account first. After that, you will get application key and client key. Then, download the ParseStarterProject and put in your application key and client key there, then you can run the starter project, build your project on top of it. Click here to [start project]( ![alt text]( ![alt text]( ![alt text]( ![alt text]( ![alt text]( 4. ` API` After you got a runnable ParseStarterProject. When you create table on you need to add it to ParseApplication. Click here to see [ API]( ![alt text]( 5. ` free usage limitation and tracker` Limitation can be change all the time please check it once a while. Free account gets 30 request per second per one jab. ![alt text]( ![alt text]( 3. **General Layout** 1. `screenOrientation` We set to portrait mode only, so no rotation. We just want to save our self some trouble. 4. **Guide Pages** 1. `ViewPager` ViewPager is a android class for screen paging nevigation (3 dots). We are using a already make ViewPager starter project. 2. `Button` Click the Button to go to splash screen. ![alt text]( 5. **Splash Screen** 1. `Handler` To set wait time by use Handler class to create a thread to wait for amount of time. Usually splash screen is use to load up stuff for the app. The wait time can be longer, usually have a nice background logo image or text displaying. Splash screen will replace signin page if user already signin, display only for 1 second. 6. **Sign up / Sign in / skip page** 1. Use TabHost class to create 2 tabs to select between Sign in or Sign up TabActivity. 2. Create 2 layouts Sign in / Sign up. 1. Use 4 EditText and a Button to insert new data to database, "Users" table, "username, password, email" fields. 2. Use 2 EditText and a Button to match query data from database, "Users" table, "username, password". See API to find out how to do it. 3. A Button without border looks like just text to go to Home page, with out Sign up or Sign in. ![alt text]( 4. Difference between signin and not signin. Only signin user can give "like", leave "comment", and add to personal "favorite" quotes. ![alt text]( 7. **Home Page** 1. `ListView with custom view for each item` The home page will show quotes by android class ListVeiw, order by popularity of paste 24 hr. By customize the view instead of using the build-in view for each list item, we can add image to each list item and format the displaying text. The build in view only allow text. ![alt text]( 2. `EndlessScrollListener` When user scroll down, more quote will show up until the last quote, this is done by EndlessScrollListener. It request more item if over the threshold of remaining item before the end of current page. It is more useful for loading huge amount of data or data size will keep on growing by the second; which only load a small amount at a time not all at once to your device, so the wait time will be cut into section, or not overflow your View class capacity. First download a already make, find one that come with documentation that tell you how to use it. Some useful parameter or variable for your app to use or pass in; EX: "page" load more base on fix number of item consider one page, "totalItemsCount" load more base on number of item reached, "visibleThreshold" start load more base on how many items left before reach the end of current page. ![alt text]( 3. `navigation drawer` User can bring out the overflow menu by press the ActionBar icon on the upper left, or the icon on the upper right, or slide a finger from left edge of
    • Girl-and-Ballon:使用处理 IDE 的简单动画
      女孩和气球 使用处理 IDE 的简单动画
    • activity切换动画全集
      两个activity之间切换动画全集, overridePendingTransition(R.anim.fade, R.anim.hold);
    • STLoadingGroup加载视图动画
      STLoadingGroup是一组加载动画案例。 用法: let loadingGroup = let loadingGroup = STLoadingGroup(side: side, style: style) view) loadingGroup.startLoading() // stop: ...
    • MySlideList动画
    • 背景逐渐渐变动画效果
    • 淘宝KISSY动画组件SnakeSlider
      KISSY“轮播组件”,用于滚动展示图片,例如:焦点图。 引用了KISSY框架 SnakeSlider是一个可定制复杂动画的轮播组件,支持在切换显示/隐藏切片时分别显示不同动画,基于LayerAnim组件实现动画效果。
    • 列表单元移动动画效果
      该源码是一个支持列表单元移动动画效果,源码MMTableCellAnimation,MMTableCellAnimation实现TableCell移动动画。可以自定义标题、图片等。 使用方法: 导入头文件: #import "MMCell.h" 创建MMCell对象并初始...
    • 引导动画效果
    • 测试Activity切换动画
      设置Activity的切换动画,有两种方式: 1.使用overridePendingTransition(新Activity进入动画, 旧Activity退出动画),需要紧接在startActivity 和finish()后。 2.在manifest中配置Activity的theme。 下面着重说明...
    • activity跳转动画
      Activity间的跳转动画—Transition。Explode 从中心移入或移出 Slide 从边缘移入或移出 Fade 调整透明度产生渐变