博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈中型项目下的编码技巧一
阅读量:6622 次
发布时间:2019-06-25

本文共 3709 字,大约阅读时间需要 12 分钟。

andriod中搞稍微大点个软件,写几十个java文件是常有的事。怎么样写思路才不打断影响到效率与耐心。

命名规则是根据团队约定的,每个团队命名规则都有区别,但目地是一样的---提高效率(团队的一致性)

   这里说的只做参考

包名命名:根据每个activity的作用命名。如订单结算:account,地址管理:addr。有几个主activity就有几个不同的包

包下的java文件命名

主activity文件 包名_Activity

副文件:   包名_功能    包名_adapter

项目公共包名:

   如果有activity之间的跳转,那么建议弄个"intent"包名,包下建立一个IntentsUnits.java文件

   所有要跳转的都写在这个文件下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package 
com.intent;
import 
com.addr.Addr_list;
import 
com.item_intent.Item_activity;
import 
android.app.Activity;
import 
android.content.Intent;
import 
android.sax.StartElementListener;
public 
class 
IntentsUnits {
public 
static 
void 
toAddrList(Activity activity)
{
Intent intent = 
new 
Intent();
intent.setClass(activity, Addr_list.
class
);
activity.startActivity(intent);
}
public 
static 
void 
toIntentActivity(Activity activity, String type){
Intent intent = 
new 
Intent();
intent.setClass(activity, Item_activity.
class
);
intent.putExtra(
"type"
, type);
activity.startActivity(intent);
}
}

   有数据库的建个sqlitedb包名的包,包名下建立的文件名为“数据库名称DB“

有常量的建个"projectConstant"包名,在包名下建立一个ProjectConstant.java,然后把工程有关的所有的常量都写在这里,不写在resource下的string的文件中,是有的时候要用或改麻烦。特别当工程中用到数据库时。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package 
com.projectConstant;
import 
android.R.string;
import 
android.os.Environment;
public 
class 
ProjectConstant {
//file or dir
public 
static 
String ProjectDir = Environment.getExternalStorageDirectory().getPath() + 
"/xinyu_school/"
;
public 
static 
String projectDBDir = ProjectDir + 
"database"
;
//数据库文件夹名称
public 
static 
String projectImageDir = ProjectDir + 
"image"
;
//图片文件夹
//以下是history的type
public 
static 
String HISTORYTYPE_BUYING = 
"1"
;
//购物车
public 
static 
String HISTORYTYPE_BOUGHT = 
"2"
;
//已经购买
public 
static 
String HISTORYTYPE_STORE = 
"3"
;
//收藏
//以下部分无需理会
public 
static 
String projectDBDirName = 
"/xinyu_school/database/"
;
//此处无需管它
//database
//database at sdcard
public 
static 
String DB_PRODUCT = 
"product_db.db"
;
//product productParent  picturename productname price number  //开心吧  path 烤猪 30,10只
public 
static 
String DB_PRODUCTTABLE = 
"product"
;
public 
static 
String DB_PARENT = 
"parent"
;
public 
static 
String DB_PICTURENAME = 
"picturename"
;
public 
static 
String DB_PRODUCTNAME = 
"productname"
;
public 
static 
String DB_PRICE = 
"price"
;
public 
static 
String DB_NUMBER = 
"number"
;
public 
static 
String DB_TOADDR = 
"ToAddr_db.db"
;
public 
static 
String DB_TOADDR_TABLE = 
"ToAddr"
;
public 
static 
String DB_TONAME = 
"toname"
;
public 
static 
String DB_TOADDRESS = 
"toaddress"
;
public 
static 
String DB_TOTEL = 
"totel"
;
public 
static 
String DB_TOCHECKED = 
"checked"
;
public 
static 
String DB_TODEFAULT = 
"defaulted"
;
public 
static 
String DB_HISTORY = 
"history.db"
;
public 
static 
String DB_HSTRYTABLE = 
"historytable"
;
public 
static 
String DB_HISTORY_TYPE = 
"type"
;
public 
static 
String DB_CLIENT_ID= 
"admin"
;
}

类包名:在做工程前肯定先把一些数据类化,所以要建一个对象包ProjectClass,低下的文件名根据各个类来命名。

layout下的文件命名,根据activity的功能对应的布局命名。

最关键:layout下的xml内部控件的命名,跟drawable下的文件命名,他们在生成id是都在R.id下:

layout下xml内空间的命名layout_xml名称_功能如地址管理中的电话信息layout_client_addr_tel

drawable下的文件名用draw_所属xml名称_所属控件功能。如draw_client_addr_tel。

最后在各个java文件中巧用“my控件功能”,这样我们能方便索引句柄。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public 
class 
ClientActivity 
extends 
Activity {
    
TextView myAddr;
    
Button myAddrButton;
    
TextView myHisBuy;
    
Button mymyHisBuyButton;
    
TextView myStore;
    
Button myStoreButton;
    
ToAddrDB myToAddrDB;
    
@Override
    
protected 
void 
onCreate(Bundle savedInstanceState) {
        
super
.onCreate(savedInstanceState);
        
setContentView(R.layout.clientinfo);
        
init();
    
}

另外附上以前写的ecshop 网店雏形的代码下载地址,这个代码几乎涉及到30%我所学的东西,里面的代码编写风格,跟内容有一定的学习价值。下载后先看"说明.txt"。编码utf-8.

本文转自lilin9105 51CTO博客,原文链接:http://blog.51cto.com/7071976/1232357,如需转载请自行联系原作者

你可能感兴趣的文章
ytu 1064: 输入三个字符串,按由小到大的顺序输出(水题,字符串处理)
查看>>
PHP脚本不报错的两点原因
查看>>
Android 使用 Gmail 来发送邮件
查看>>
Canavs arcTo方法的理解
查看>>
SQLite操作(C# )
查看>>
Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'
查看>>
Android 手机设置CMWAP 接入点
查看>>
浅谈项目需求变更管理
查看>>
javascript中关于坐标 大小 的描述
查看>>
Darwin Streaming Server用vs2005编译运行过程
查看>>
HTML5开发的翻页效果实例
查看>>
css 中文字体 unicode 对照表
查看>>
atitit.设计模式(2) -----查表模式/ command 总结
查看>>
JAVA反射机制
查看>>
【编程题目】和为 n 连续正数序列
查看>>
Windows Phone 8 开发环境搭建
查看>>
Android数据存储五种方式总结
查看>>
ASP.NET用HttpListener实现文件断点续传
查看>>
HTTP Header 详解
查看>>
2014---多校训练一(A Couple doubi)
查看>>