androidInject
=============
###使用注解来简化android开发 <br/>(Use annotations inject to simplify the development of android)<br/>
###注意: <br/>
> 使用fragment的注解,需要android-support-v4.jar的支持(以兼容低版本)
>
> 使用网络请求的注解时,如果需要自动返回封装类,则需要[gson.jar](https://code.google.com/p/google-gson/downloads/list)的支持
>
> 使用文件上传的注解,需要[httpmime.jar](http://hc.apache.org/downloads.cgi)的支持
###例子1:Android注解<br/>
@AIFullScreen
@AINoTitle
@AILayout(R.layout.main)
public class MainActivity extends AIActivity{
@AIView(id = R.id.insertBtn, clickMethod = "onClickCallback", longClickMethod = "onLongClickCallback")
private Button insertBtn;
@AIView(clickMethod = "onClickCallback", longClickMethod = "onLongClickCallback")
private Button queryBtn;
// @AIView(id = R.id.btn3)
// private Button btn3;
// @AIView(id = R.id.listView, itemClickMethod = "onItemClickCallback", itemLongClickMethod = "onItemLongClickCallbackForListView")
@AIView(R.id.listView)
private ListView listView;
@AIBean
private Person person;
@AISystemService
private AlarmManager alarmManager;
@AISystemService
private LocationManager locationManager;
@AISystemService
private LayoutInflater inflater;
@AIScreenSize
private Point sSize;
@AINetWorker
private PersonWorker personWorker;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map;
for(int i = 0; i < 10; i++){
map = new HashMap<String, String>();
map.put("title", "item_" + i);
list.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(context, list, R.layout.list_item, new String[]{"title"}, new int[]{R.id.list_item_title_tv});
listView.setAdapter(adapter);
person.setName("wangjie");
person.setAge(23);
System.out.println(person.toString());
System.out.println("alarmManager: " + alarmManager + ", locationManager: " + locationManager + ", inflater: " + inflater);
System.out.println("screen size --> width: " + sSize.x + ", height: " + sSize.y);
new Thread(new Runnable() {
@Override
public void run() {
try{
// RetMessage<Person> retMsg = personWorker.getPersonsForGet("a1", "b1", "c1");
RetMessage<Person> retMsg = personWorker.getPersonsForGet2(new Params().add("aa", "a1").add("bb", "b1").add("cc", "c1"));
// RetMessage<Person> retMsg = personWorker.getPersonsForPost2(new Params().add("aa", "a1").add("bb", "b1").add("cc", "c1"));
System.out.println("getPersonsForGet2: " + retMsg.getList().toString());
}catch(Exception ex){
ex.printStackTrace();
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
try {
String jsonStr = personWorker.getPersonsForGetToString(new Params().add("aa", "a1").add("bb", "b1").add("cc", "c1"));
System.out.println("getPersonsForGetToString: " + jsonStr);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
try{
// 上传多个文件
/*
List<File> files = new ArrayList<File>();
files.add(new File("/storage/emulated/0/DCIM/Camera/20140130_132710.jpg"));
files.add(new File("/storage/emulated/0/DCIM/Camera/20140130_132559.jpg"));
files.add(new File("/storage/emulated/0/DCIM/Camera/20140130_132533.jpg"));
files.add(new File("/storage/emulated/0/DCIM/Camera/20140130_132508.jpg"));
RetMessage<UploadFile> retMsg = personWorker.uploadFile(files);
System.out.println(retMsg.getList().toString());
*/
// 上传单个文件
RetMessage<UploadFile> retMsg = personWorker.uploadFile2(new File("/storage/emulated/0/DCIM/Camera/20140130_132710.jpg"));
System.out.println(retMsg.getList().toString());
}catch(Exception ex){
ex.printStackTrace();
}
}
}).start();
userExecutor = new DbExecutor<User>(context);
}
DbExecutor<User> userExecutor = null;
User dbUser = null;
List<User> users = null;
Random rd = new Random();
@AIClick({R.id.deletebtn, R.id.updateBtn})
public void onClickCallback(View view) throws Exception{
if(view instanceof Button){
Toast.makeText(context, "onClickCallback: " + ((Button)view).getText(), Toast.LENGTH_SHORT).show();
}
switch(view.getId()){
case R.id.insertBtn: // 插入user对象到user表
dbUser = new User("wangjie" + rd.nextInt(10000), String.valueOf(rd.nextInt(10000) + 10000), System.currentTimeMillis(), rd.nextInt(80) + 120, rd.nextInt(80) + 120, "aaaa");
userExecutor.executeSave(dbUser);
break;
case R.id.queryBtn: // 查询user表
users = userExecutor.executeQuery("select * from user where uid > ?", new String[]{"4"}, User.class);
System.out.println("[queryBtn]users: " + users);
break;
case R.id.deletebtn: // 删除user表的一条数据
if(null == users || users.size() <= 0){
break;
}
userExecutor.executeDelete(users.get(0));
break;
case R.id.updateBtn: // 更新user表的一条数据
if(null == users || users.size() <= 0){
break;
}
User user = users.get(0);
user.setUsername(user.getUsername().startsWith("wangjie") ? "jiewang" + rd.nextInt(10000) : "wangjie" + rd.nextInt(10000));
user.setPassword(user.getPassword().startsWith("123456") ? "abcdef" : "123456");
user.setCreatemillis(System.currentTimeMillis());
user.setHeight(rd.nextInt(80) + 120);
user.setWeight(rd.nextInt(80) + 120);
user.setNotCol("bbb");
userExecutor.executeUpdate(user, null, new String[]{"createmill
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
AndroidInject增加sqlite3数据库映射注解(ORM)-IT计算机-毕业设计.zip (78个子文件)
AndroidInject增加sqlite3数据库映射注解(ORM)
androidInject-master
res
drawable-ldpi
ic_launcher.png 3KB
drawable-hdpi
ic_launcher.png 9KB
drawable-xhdpi
ic_launcher.png 14KB
values
strings.xml 115B
drawable-mdpi
ic_launcher.png 5KB
layout
list_item.xml 515B
fragment_a.xml 860B
main.xml 1KB
secend.xml 460B
proguard-project.txt 781B
META-INF
MANIFEST.MF 23B
ant.properties 698B
build.xml 4KB
library
androidInject_1.0.jar 29KB
androidInject_1.3.jar 48KB
androidInject_1.2.jar 41KB
src
com
wangjie
androidinject
example
SecendActivity.java 817B
model
User.java 2KB
Person.java 855B
UploadFile.java 392B
database
DatabaseHelper.java 1KB
DbExecutor.java 785B
MainActivity.java 9KB
net
PersonWorker.java 2KB
FragmentA.java 3KB
MainActivityGeneral.java 3KB
annotation
core
thread
Runtask.java 2KB
ThreadPool.java 858B
base
ParticularAnnotation.java 828B
RealizeMethodAnnotation.java 7KB
RealizeFieldAnnotation.java 9KB
AnnotationManager.java 2KB
RealizeAnnotation.java 343B
RealizeTypeAnnotation.java 4KB
orm
AIDbExecutor.java 14KB
AIDatabaseHelper.java 1KB
net
RetMessage.java 2KB
NetInvoHandler.java 6KB
AIUploadNetWork.java 2KB
AINetWork.java 4KB
present
AIActivity.java 2KB
AISupportFragment.java 3KB
AISupportFragmentActivity.java 1KB
common
CallbackSample.java 594B
AIPresent.java 471B
annotations
base
AILongClick.java 548B
AISystemService.java 457B
AIClick.java 544B
AINoTitle.java 450B
AIBean.java 450B
AILayout.java 467B
AIFullScreen.java 453B
AIItemClick.java 548B
AIView.java 889B
AIItemLongClick.java 551B
orm
AIPrimaryKey.java 642B
AIColumn.java 606B
AITable.java 616B
net
AIGet.java 854B
AIUpload.java 891B
AINetWorker.java 547B
AIPost.java 786B
AIParam.java 547B
dimens
AIScreenSize.java 458B
util
StringUtil.java 769B
ReflectionUtils.java 893B
AITextUtil.java 1KB
SystemServiceUtil.java 2KB
Params.java 369B
AIDbUtil.java 3KB
listener
OnItemClickViewListener.java 2KB
OnClickViewListener.java 2KB
OnLongClickViewListener.java 2KB
OnItemLongClickViewListener.java 2KB
.gitignore 332B
project.properties 563B
README.md 19KB
AndroidManifest.xml 867B
共 78 条
- 1
资源评论
芝麻粒儿
- 粉丝: 6w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 微信小程序 - 图书管理系统源码.zip
- 微信小程序 - 图片自适应 ,富文本解析源码.zip
- 微信小程序 - 同乐居商城:购物车合算源码
- 1、根据输入的三条边值判断能组成何种三角形,并设计测试数据进行判定覆盖测试 三条边为变量a、b、c,范围为1≤边值≤10,不在范
- SQL server 练习题目8道(小白教学).zip
- Python 手写实现 iD3 决策树算法-根据信息增益公式.zip
- 411675952289057车联助手-小窗版(三星)3.5.1.apk
- 三种快速排序方法合并在一个文件中以便直接运行的Python代码示例
- 937712277954201实习5.word
- 2程序语言基础知识pdf1_1716337722703.jpeg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功