KJFrameForAndroid使用方法1

摘要

写给那些在用、想用、还没有用过KJFrame的朋友。 KJFrameForAndroid总共分为四个功能:Activity继承链的规范,Http数据请求和上传下载,Bitmap大图加载以及ListView滚动时只加载内存图片,数据库对象存储与集合对象存储。还有一个独立出来的功能CJFrame插件化开发框架,支持启动在你的手机中未安装的apk应用。

本文原创,转载请注明地址:http://blog.kymjs.com/

Activity继承链

使用你的Activity(Fragment)继承自KJActivity(KJFragment)即可。在通常的开发中,我们经常把数据初始化、findview、控件的属性设置等等的方法都写在一个onCreate()中,这样会造成onCreate方法过于臃肿,而使用KJFrame模块的基类Activity(Fragment)可以轻松解决这个问题。

  • 在基类中各个方法的调用顺序:
setRootView(); //用于调用setContent();  
@BindView //setRootView执行后将会执行注解绑定  
initDataFromThread();(执行在异步,用于做耗时操作)   
threadDataInited();(initDataFromThread() 执行完成后将会回调)   
initData(); //用于初始化数据  
initWidget(); //用于设置控件内容  
registerBroadcast(); //用于注册广播与上下文菜单 


  • 注解式绑定控件并设置监听使用UILibrary,你可以只需要一行代码就完成控件的findview并设置点击事件,就像下面的示例,只需要添加@BindView注解就能实现了。
@BindView(id = R.id.xxx, click = true);  
private Button btn;  

这样就相当于已经调用了

private Button btn;   
btn = findViewById(R.id.xxx);  
btn.setOnClickListener(this); 

当然,是否一定要设置点击事件是由你来决定,如果不设置,那么可以不写click=true这句话。

  • ViewInject功能与Toast优化每次在写Toast的时候都得要写上一长串代码,很麻烦。那么KJFrame很人性化的对Toast做了封装,你只需要调用
ViewInject.toast("提示文字");  

同时ViewInject还封装了常用的弹出式对话框

//弹出一个选择弹窗,同时具有重载方法,  
//可以自定义点击确定按钮的监听器以及弹窗的内容文字
getExitDialog(Context context); 
getDateDialog(String title, TextView textView)


  • 自由用法如果受项目限制,没办法继承KJFrame的基类,那么你仍旧可以使用注解式绑定与Toast优化功能,但是使用办法略有不同。如果不继承基类,在使用注解@BindView时需要在Activity的setContent()方法之后手动调用
AnnotateUtil.initBindView(this);  

在Toast使用时由于没有继承框架基类,则需要手动传入Context对象

ViewInject.toast(this, "提示文字"); 
				
时间: 2024-10-11 22:19:17

KJFrameForAndroid使用方法1的相关文章

Android ORM应用开发框架KJFrameForAndroid使用详解

本文将为大家介绍一款Android ORM应用开发框架KJFrameForAndroid,很多时候我们也叫它KJLibrary. KJFrameForAndroid简介 KJFrameForAndroid是一款基于Android的ORM和 IOC应用开发框架,封装了很多Android开发中常用的功能,包括Android中对Bitmap的操作类库.KJFrameForAndroid的设计非常精简,利用KJFrameForAndroid,我们可以用最少的代码完成很多丰富的Android功能应用,为A

KJFrameForAndroid框架学习----深入理解注解原理

Android开发中,有一个让人又爱又恨的方法叫findViewById(int);我想如果你是一民Android开发者,必然知道这个方法,让我们来看一下KJFrameForAndroid框架是如何解决这个问题的. KJFrameForAndroid框架项目地址:https://github.com/kymjs/KJFrameForAndroid. 为什么说findViewById(int);让人又爱又恨呢?想必大家也是很有感触. 写一个布局,用Java代码写和用xml文件写,完成速度完全是无法

KJFrameForAndroid框架学习----高效加载Bitmap

KJFrameForAndroid框架项目地址:https://github.com/kymjs/KJFrameForAndroid 或备用地址http://git.oschina.net/kymjs/KJFrameForAndroid KJFrameForAndroid开发群:257053751 我们在写Android程序的时候,肯定会用到很多图片.那么对于图片的压缩处理自然是必不可少.为什么要压缩?我想这个问题不必在强调了,每个人在最初学习Android的时候肯定都会知道这么一个原因:我们编

KJFrameForAndroid框架学习----高效设置网络图片

KJFrameForAndroid框架项目地址:https://github.com/kymjs/KJFrameForAndroid 或备用地址http://git.oschina.net/kymjs/KJFrameForAndroid KJFrameForAndroid开发群:257053751 我们都知道,计算机读取数据时:内存的读取速度是最快的,然后是文件的读取速度,最后是网络资源的读取. 假设每次载入同一张图片都要从网络获取,那代价实在太大了.所以同一张图片仅仅要从网络获取一次就够了,然

KJFrameForAndroid框架学习——多线程管理

在Android开发中,由于不能再UI线程中做耗时操作,常常需要开启线程来做一些操作.但是这样一来就产生了一个问题,就是大量的线程并发执行,造成了线程维护的开销进而使得代码质量下降手机发烫又耗电.让我们来看一下KJFrameForAndroid框架是如何解决这个问题的. KJFrameForAndroid框架项目地址:https://github.com/kymjs/KJFrameForAndroid. 其实Android提供了一套专门用于异步处理的类,就是我们熟悉又模式的AsynTask类.

KJFrameForAndroid 2.0框架使用

KJFrameForAndroid 又叫KJLibrary,是一个Android的快速开发工具包.同时封装了android中的Bitmap.Http.插件模块加载操作的框架,使开发者更容易轻松实现这些功能,最终实现快速而又安全高效的开发APP.我们的目标是用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能. 你可以从这里获取到项目源码 http://git.oschina.net/kymjs/KJFrameForAndroid KJFrameForAndroid 参考了许多国际上著名的

Unity 崩溃问题解决方法——之一

友情提示:工作随记,不喜勿喷 注意:文艺青年可以略过,暴力青年欢迎采纳 Library文件夹 Unity每次编译都会生成这个东西,不用担心丢失的问题.所以,干掉他! 选中 + Delete   或者  选中 + Shift  + Delete 网上看了很多方法,就觉得这个简单,粗暴,是我喜欢的类型. 优点:上面说了 缺点:如果工程过大,重新编译时间会比较长.(但是对于查Log日志来说,相对快点)

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正