Android进阶(二十三)Android开发过程之实例讲解

Posted No Silver Bullet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android进阶(二十三)Android开发过程之实例讲解相关的知识,希望对你有一定的参考价值。

Android开发过程之实例讲解

前言

     回过头来审视之前做过的android项目,发觉自己重新开发时忽然间不知所措了,间隔了太长时间没有开发导致自己的Android技能知识急剧下降。温故而知新。

     废话少说,进入正题~

     下面主要以自己之前开发过的Android小项目为例,探讨Android开发基本流程,以及其中所涉及到的原理。

      项目名称为“我查查”,主要的实现功能是查询、添加商品评价,分享购物体验。

     主要界面如下:

 

图1 主功能界面

 

图2 查看商品信息

图3 添加新评论

 

图4 扫码操作

 

图5 查看最新分享

 

图6 添加商品信息

 

图7 用户注册

 

图8 当前用户状态

      新建一个Android项目时,在AndroidManifest.xml配置文件中可设置应用名称、应用权限以及配置四大组件,各节点配置可参考网络上其它文献。

 

      至此,应用入口确定,为WelcomeActivity,进入WelcomActivity,代码如下:

 

 
package org.wokankan; import java.util.TimerTask; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.view.Window; public class WelcomeActivity extends Activity { protected static final int LOGINOVER = 0; protected static final String TAG = "Welcome"; private Handler handler; //因为要重写构造方法,所以不能用匿名内部类 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置登录无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.welcome); HandlerThread myThread = new HandlerThread("myHandlerThread"); myThread.start(); handler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == LOGINOVER){ // 页面跳转 Intent intent = new Intent(WelcomeActivity.this, MainActivity.class); startActivity(intent); WelcomeActivity.this.finish(); } } }; tt.run(); } TimerTask tt = new TimerTask() { @Override public void run() { //Log.i(TAG, Thread.currentThread().getName()); // 设置3s后跳转到MainActivity handler.sendMessageDelayed(handler.obtainMessage(LOGINOVER), 3000); } }; }

      在运行时,再次出现了令人烦恼的字符集编码问题,中文字符写入数据库时全部为问号。如下图所示。

 

      问题出在写入数据库时,写入之前中文字符正常显示,写入后变为乱码。为此需要设置数据库的编码方式。

     根据前面的问题解决方式,在mysql中直接以sql语句的形式进行测试,测试语句如下:

     insert into product(barcode,product_name,guige,changjia,xinghao,imguri,qrbarcode_uri) values("123","测试","12","中国","","","");

      执行时,果然出现了问题。错误提示如下:

 

      按照之前解决问题的思路,总结如下:

      要想实现中文字符插入数据库中时不出现乱码现象需满足如下条件:

     在连接数据库时需指定编码方式,示例如下:

      jdbc:mysql://localhost:3308/lmapp?useUnicode=true&characterEncoding=utf8

      后面的编码方式指定尤为重要。

 

参考文献

     1.http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html

     2.http://blog.csdn.net/sunhuaqiang1/article/details/51444018

      3.http://blog.csdn.net/sunhuaqiang1/article/details/51644645

美文美图

 

 

以上是关于Android进阶(二十三)Android开发过程之实例讲解的主要内容,如果未能解决你的问题,请参考以下文章

Android进阶(二十四)Android UI---界面开发推荐颜色

Android项目实战(二十三):仿QQ设置App全局字体大小

作为Android开发者;下次面试你应该知道的数据结构和二十三种设计模式

《Android源代码设计模式解析与实战》读书笔记(二十三)

一起Talk Android吧(第三百二十三回:Android中网络通信之TCP通信演示)

跨平台应用开发进阶(三十三) :Android上架准备材料及流程介绍