Android's first App two years later -- innocent and non-harmonious, androidapp --

Source: Internet
Author: User

Android's first App two years later -- innocent and non-harmonious, androidapp --

I. Preface

I haven't written a blog for a long time. I have to develop my own apps at home on weekends, so it's really not enough time. Of course, I will talk about this article today, how can I create an app and publish an app from the product perspective after two years of work.


2. Support me

Before explaining this project, I hope to download an apk from various major markets. The first is to support me, and the second is to introduce some functions and technical implementations in the future, so use it first. This will find the corresponding feature. Thank you.

QR code scan download:


1. Pods market: Search: innocent

Link on PC: http://www.wandoujia.com/apps/com.wjdiankong.happymahua


2. app Bao market, search: innocent

PC end link: http://sj.qq.com/myapp/detail.htm? ApkName = com. wjdiankong. happymahua


3. Baidu mobile assistant, search: innocent

PC end link: http://shouji.baidu.com/soft/item? Docid = 7864245 & from = & f = search_app _ % E5 % A4 % A9 % E7 % 9C % 9F % E6 % 97% A0 % E8 % B0 % 90% 40list_1_title % 401% 40header_all_input


4. 360 mobile assistant, search: innocent

PC end link: http://zhushou.360.cn/detail/index/soft_id/3052244? Recrefer = SE_D _ % E5 % A4 % A9 % E7 % 9C % 9F % E6 % 97% A0 % E8 % B0 % 90


5. Google Play Store market, search: innocent

PC end link: https://play.google.com/store/apps/details? Id = com. wjdiankong. happymahua_gp


Iii. Project Background

First, let's introduce our project. This project is called: innocent and non-harmonious. It is mainly used to show some joke-type information (including jokes, pictures, and Gif), similar to an app like Baishi encyclopedia, this project was started on June 1, 02.14, that is, Valentine's day. So now it has been officially launched for almost six months, and it is done at home on weekends, so it took about one month. At that time, I didn't want to talk about how to make money by using this app. I felt like I had been working for nearly two years. I should have my own app. I also needed to be familiar with how to develop an app, and the release process.


Iv. Project Introduction

Let's take a general look at the technical implementation: the Server side of this project uses the SSB framework, mainly SpringMVC technology. It feels much easier to use than Struts and is convenient and quick, it is not a Server end. It is mainly a university graduation project that uses the Server-side technology. So I will review it here. The database uses MySql.

As for the Client side, let's take a detailed analysis. Because it was my own project, I didn't want to cooperate with my friends at the time, so I had to take several roles: Product dogs, design lions, programmers, for testing roles such as cats and operating pig, the following describes in detail how each role is played. However, let's take a look at the features and interfaces of the app:

1. Function Introduction 1). Application activation page

The content of this page is: Wake up every sentence

After a user logs on, he can design his/her favorite motto: the background randomly sends a user statement for each user's presentation.

Idea: it can improve the user's sense of accomplishment and make users feel that what they say can be seen by others. Very happy

2) Homepage

The homepage has adopted the popular carousel switching news style. There are six tabs:

Latest recommendations: Latest funny pictures + jokes

Duan zishou: if the user is not a Wi-Fi user, this Tab will be displayed first. He only has text jokes and will not consume too much traffic.

Funny: it is the Tab of funny pictures.

Pure GIRL: Girl pictures (You know)

Sexual beauty: It's a picture of a sexual beauty (You know it too)

Dynamic diagram: it is a Gif dynamic diagram (this is a relatively high traffic consumption, so it will adjust its order in the case of Wifi)

Therefore, the background will control the display sequence of these tabs and the display switch.

3) Details page

The details page allows you to comment on the content, click like, and click an image to view the larger image.

There's nothing to say about this page.

4) User Center page

This page is the user center where users can edit their own information and view their historical behavior and actions.

Is also a popular page

5) set the page

This page is also a popular page. You can set some attributes and other functions.

Of course there are other pages, which are not detailed here


2. Roles

Okay. After reading the functions, I will share with you how I play these roles:

1) first role: Product Dog

The role of the Product Dog is actually very vague. It is generally believed that it is an idea to design an app so that users like it, we can understand user preferences and behaviors, so we can all be competent for this role. Of course, it is just a matter of success and failure. When I designed this app, I used many other features similar to the app, but we can't just use them for reference, we also need to do better than them, and better than them, or else we will just copy them. Haha ~~ There are three highlights:

1.1) Save the Gif frame image

When playing a Gif image, you can pause or continue, and then save the image of each frame. Because when I watch other Gif apps, sometimes I really want to capture the picture of the current animation, so I added this feature.



1.2). added the voice broadcast function.

Sometimes we don't want to read too many jokes, and it's annoying to look at them. So here we provide the function of Automatic Speech text broadcasting, and the addition of dialect speech in different regions is even more funny (especially in Henan and Cantonese, I really listen to it every time, very nice)



1.3) view local images/Gif files

In fact, I was thinking about this feature when I was watching it, and the image download function is not supported. However, if we want to find it again after the download, it may be difficult to go to the specified folder. It is very convenient to view the images I have downloaded in the app.



So the above three points are also three highlights of my app, and I hope you can provide more support. I also want to consider the issues from the product perspective. I will not talk about other functions here. They are all similar and there is nothing to say.


2) second role: Design lions

As for the role of a designer, you don't really want the Product Dog to play well, because not everyone can do it. First, you have to be artistic. In fact, you have to have some design tools. So how did I do it?

It's not hard. Why? Because I have a strong sense of art (really, many people have said that). What about design tools? When I was in college, I joined the art department, so PS is not difficult (simple functions are still acceptable)

However, some image resources still need to be searched online. Here we provide image resource addresses for some apps, some of which are free of charge and some are charged:

Http://findicons.com/https://www.iconfinder.com/http://www.flaticon.com/http://www.iconarchive.com/http://www.playpcesor.com/2014/11/Flatty-Shadow-Flat-icon-download-free.htmlhttp://www.premiumpixels.com/page/1? S = iconhttp: // response
Hope we can help you, but some images are not necessarily what we want after we get them. For example, if we want to change the color of an icon, at this time, we need the PS tool to implement it. Well, I cannot say how to change it here. Because the length is too long, it is no harm for everyone to study PS, you can at least show your ps to others. Of course, it is better to find a small designer partner, because I didn't want to disturb too many people because the project was closed at the time. That's why I had to handle it myself. Haha ~~
3) third role: Testing the cat role is actually the same as the product dog. Anyone can be competent, as long as they can write some test cases, or do not write, because the app is developed by you, there are many features you know where a bug may occur .. but there are also a lot of hidden bugs that are hard to reproduce, so I have to use them more. I use them on a bus or subway every time, use them during the day, and change bugs at night... life is so comfortable
4) What should I say about the fourth role: Operating pig? This role is also a bit vague. It is responsible for collecting user behavior data, analyzing user behavior data, and sending packets. We will not discuss the data collection here. In China, we generally use umeng statistics. In foreign countries, we generally use GA statistics to describe the packet sending process.
5) role 5: programmers finally said this role, and it is full of blood, because I am doing this, so I cannot introduce it in detail, and I am also very selfless, introduce the technologies I used in this project. Haha ~~ Although it is not very advanced technology: 1. I have used many open-source controls in this project. Here I will introduce them in detail. 1) homepage:1.1) The first step is to refresh data from the drop-down list. Many apps now use the top animation style. However, Google provides its own drop-down refresh control, which is easy to use and cool: SwipeRefreshLayout.
Home Page carousel Tab style, this network is also a lot of examples PagerSlidingTab
Address: https://github.com/astuetz/PagerSlidingTabStrip1.3) homepage of the floating shortcut menu, similar to Google + FloatingActionsMenu
Address: https://github.com/telly/FloatingAction
1.4) ListViewAnimations
Address: https://github.com/nhaarman/ListViewAnimations1.5) text in TextView automatically alignment JustifyTextView
Address: https://github.com/xsingHu/JustifyTextView1.6) Circular processing of the image CircularImageView
Address: https://github.com/lopspower/CircularImageView1.7) data loading Style ProgressWheel
Address: https://github.com/nithinkmichael/Android-ProgressWheel-master
1.8) Select an icon flip Animation FlipImageView
Address: https://github.com/castorflex/FlipImageView

2) Details page2.1) controls for playing Gif videos GifdrawableAddress: https://github.com/nemothekid/gifdrawable-android

3) settings page3.1) Click the water ripple effect on the menu, similar to the 360 security guard menu RippleEffect
Address: https://github.com/traex/RippleEffect3.2) custom slide switch, similar to Apple switch Effect SlideSwitch
Address: https://github.com/Leaking/SlideSwitch
3.3) display the progress bar style of the numeric value, which appears when setting the font size style DiscreteSeekBar
Address: https://github.com/AnderWeb/discreteSeekBar
3.4) progress bar with values, which will appear during upgrade NumberProgressBar
Address: https://github.com/daimajia/NumberProgressBar3.5) animation Style dialog box SweetAlertDialog
Address: https://github.com/lzyzsd/SweetAlertDialog3.6) Clear cache dialog box SmoothProgressBar
Address: https://github.com/castorflex/SmoothProgressBar

4) Browse local Images page4.1) waterfall stream style StaggeredGridView
Address: https://github.com/maurycyw/StaggeredGridView

5) Image Browsing page5.1) zoom in and out the image PhotoView
Address: https://github.com/chrisbanes/PhotoView
6) User Center page6.1) Pull down the head to enlarge the effect Style PullZoomView
Address: https://github.com/Frank-Zhu/PullZoomView

(There are so many controls. If you find the controls I haven't mentioned, or you haven't found them in the app, leave a message to me and I will see if I can provide you with the source code)
2. technical functions2.1) local content cache, mainly using ObjectInputStream to write information to SD for storage, loading 2.2 when there is no network) share the QR code on the sharing page, there is a QR code generation function. In fact, there is a demo of generating a QR code on the Internet. We generate a string to generate a QR code. We mainly add our own logo in the middle of the QR code. However, what kind of technology is there, the result is actually very simple, that is, it is OK to directly use ps to synthesize the logo and QR code images. The reason is very simple. The recognition error tolerance rate of the QR code is about 50%, so as long as your logo image is not too big.
3. Third-party sdks used3.1) share the SDK. There are a lot of demos on the Internet and there is no difficulty. 3.2) Use umeng SDK for data statistics
Here is the technology. If you find any confusion, contact me and I will answer it.
5. The problems I encountered are as follows: 1. The problem on the server side is that when SpringMVC is used, JSON processing is returned. 2. The client has a problem with uploading multiple images. 3. How to deploy a project on a remote server 4. the design problem is how to change the background color of an icon. 5. The problem with package release is that the requirements of major markets vary when resources are prepared.
If the packet sending process is summarized in China, I will release the following markets: 1. 360 mobile assistant 2. app Bao 3. Baidu mobile assistant 4. Android Market/91 market 5. prerequisites required during the package sending process: 1. Identity Authentication: generally ID card photos, hand-held ID card photos 2. Detailed description of the application 3. logo images of the application (generally 512*512) 4. Application (generally no more than five) 5. apk packages for each channel (because you need to collect statistics on the installation status of each channel and user data for each channel after the day, so we need to create different channel packages)
In international cases, Google playstore is generally released, but we generally do not send international services, because you are not able to access the GP website, unless you go over the wall, because I want to try all the packet sending procedures, so I tried it. If you release an apk on GP, you need money, which is $29. Fortunately, you must pay by using a VISA credit card, so you have to apply for a credit card. Generally, the ga sdk is used for GP statistics, and Admob/Inmobi is used for advertising.
6. Summary after six months of experience, I was very happy to finally develop my own app. But this process is really hard to write interfaces from the Server, you can call data on the Client, build servers, deploy projects, and send packets at the end of the page. You may have to try it out, especially in this process, whether or not I want to give up several times, but I finally stick to it. This kind of training is really a kind of growth. Let's say a simple example: it took me half a month to open a GP account, run a credit card, apply for an account, and be rejected. during the application process, the packet sending process is very bad. The packet sending process varies with the market, the review system is not the same. I tried to submit the review several times. In this process, frustration really hurts you. Sometimes I have been unhappy for several weeks, especially the frustration that makes you want to give up. But I still want to say that as long as you have a goal, you must stick to it. So if you want to develop an app, the advice you really give is to be fully prepared, otherwise, you will be overwhelmed. Finally, if you find any bugs or suggestions during usage, you may wish to contact me if you want to give them to me, or if you have any questions during usage, I will give answers.
Finally, thank you for your support. Let's take a look at the next app ~~
If you support me, just scan it:

PS: my contact information is in the App. if you want to contact me, you can talk to me privately.

Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.