android程序设计app,android app 程序设计思路总结

android app 程序设计思路小结

android app 程序设计思路小结

一、model设计与实现

建立业务POJO,比如user

public class User{

private int userId;

private String userName;

public User(int userId, String userName){

this.userId = userId;

this.userName = userName;

}

public void setUserId(int userId){

this.userId = userId;

}

public void setUserName(String userName){

this.userName = userName;

}

public int getUserId(){

return this.userId;

}

public String getUserName(){

return this.userName;

}

}

二、net网络交互接口设计与实现

1,请求格式定义。

http://192.168.1.31/CommandHandler.ashx

{

"MessageContent":"{'CourierId':'652','TrackingY':31.174406,'Province':'上海市','District':'闵行区','City':'上海市','TrackingX':121.39061,'Address':'上海市闵行区万源路2163号'}",

"Passport":"mWEKICmWIVD0YRGXMSRC5HH7SYVMIVlVEGOMRK",

"Function":"AddCourierTracking",

"Usage":"User"

}

2,返回格式定义

{

"ResultFlag":1,

"ErrorMessage":null,

"Passport":"mWEKICmWIVD0YRGXMSRC5HH7SYVMIVlVEGOMRK",

"MessageContent":{

\"Result\":null,

\"ResponseStatus\":{

\"ErrorCode\":\"1\",

\"Message\":null,

\"StackTrace\":null,

\"Errors\":null

}

}

}

3,实现方法需要适配多样情形(方法重载),内部实现需要避免重复(内聚)。

public class NetUtil{

public static void doPost(Context context, HashMap map, Handler handler, Callback callBack){

doRequest(context, map, handler, callBack);

}

public static void doGet(Context context, Handler handler, CallBack callBack){

doRequest(context, null, handler, callBack);

}

private static void doRequest(Context context, HashMap map, Handler handler, Callback callBack){

...

}

}

三、UI界面框架

1,定义自己的超类,比如MyActivity, MyFragment

public class MyActivity extends Activity{

}

2,建立超类链(),分别插入日志、Toast、进度条、导航栏,标题栏等共用UI元素,分开插入是为了方便拓展和去掉。

public class LoggableActivity extends Activity{

protected static String TAG = this.getClass.getSimpleName();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

LogUtil.log(TAG,"onCreate()");

}

}

3,分别实现各个页面,继承自最低级别的超类。

public class LoginActivity extends LoggableActivity{}

4,Adapter,service,broadCast等类似。

四、管理数据

1,使用ContentProvider。

2,使用Sqlite。

3,文件方式存储(SharedPerference、sd卡)需要添加加解密。

4,使用内存缓存策略,比如LRU算法。

五、发布和proguard

1,所有被androidmanifest.xml定义的类不能混淆,所以关键业务逻辑实现要移除被调用类。

2,引用的第三方包不能混淆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值