① studio 3.0.1 androidannotations-api 注解框架问题
AS报错的地方不一定是真正有错误的地方;
他是报无法找到AndroidManifest文件,一般这样的错误你可以看下是否工程内有隐藏的编译错误,
点击run with --info或者run with --stacktrace再执行一遍,看他真实的报错的地方
② android有没有关于介绍第三方框架的书籍
这个是不可能有的,第三方的框架大部分都是社区开源的,会不断的进行维护,就算出一本书出来很快也就会被淘汰,而且第三方社区也都会出文档的,所以出书的意义不大。以下介绍下常见的开源框架:
Android开发使用的常见第三方框架汇总
Android框架java数据库通信
1、volley
(1) JSON,图像等的异步下载;
(2) 网络请求的排序(scheling)
(3) 网络请求的优先级处理
(4) 缓存
(5) 多级别取消请求
(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)
2、android-async-http
(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行http请求
(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferences
3、Afinal框架
主要有四大模块:
(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,
没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),
更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,
在imageview显示图片的时候播放动画等(默认是渐变动画显示)。
4、xUtils框架
主要有四大模块:
(1) 数据库模块:android中的orm框架,一行代码就可以进行增删改查;
支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
(3) 网络模块:支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...
5、ThinkAndroid
主要有以下模块:
(1) MVC模块:实现视图与模型的分离。
(2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。
(3) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
(5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
(7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
(8) 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
(9) 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。
(10) 网络状态检测模块:当网络状态改变时,对其进行检
6、LoonAndroid
主要有以下模块:
(1) 自动注入框架(只需要继承框架内的application既可)
(2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上现在所有的http请求)
(4) eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解析(支持解析成集合或者对象)
(7) 数据库(不知道是哪位写的 忘记了)
(8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
(9) 自动更新模块
(10) 一系列工具类
③ android annnotation 注解框架进行android,有哪位大牛用的比较熟
示例:
@EActivity(R.layout.main)
public class MyActivity extends Activity {
}
@fragment
示例:
@EFragment(R.layout.my_fragment_layout)
public class MyFragment extends Fragment {
}
注册:
<fragment
android:id="@+id/myFragment"
android:name="com.company.MyFragment_"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
创建:
MyFragment fragment = new MyFragment_();
普通类:
@EBean
public class MyClass {
}
注意:这个类必须仅仅只能有一个构造函数,参数最多有一个context。
Activity中使用:
@EActivity
public class MyActivity extends Activity {
@Bean
MyOtherClass myOtherClass;
}
也可以用来声明接口:
@Bean(MyImplementation.class)
MyInterface myInterface;
在普通类中还可以注入根环境:
@EBean
public class MyClass {
@RootContext
Context context;
// Only injected if the root context is an activity
@RootContext
Activity activity;
// Only injected if the root context is a service
@RootContext
Service service;
// Only injected if the root context is an instance of MyActivity
@RootContext
MyActivity myActivity;
}
④ 开发android app有什么架构吗
主要有以下模块:
(1) JSON,图像等的异步下载;
(2) 网络请求的排序(scheling)
(3) 网络请求的优先级处理
(4) 缓存
(5) 多级别取消请求
(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)2、android-async-http
主要有以下模块:
(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行http请求
(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferences 3、Afinal框架
主要有四大模块:
(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。4、xUtils框架
主要有四大模块:
(1) 数据库模块:android中的orm框架,一行代码就可以进行增删改查;
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
(3) 网络模块:支持同步,异步方式的请求;
(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;5、ThinkAndroid主要有以下模块:(1) MVC模块:实现视图与模型的分离。
(2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。
(3) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
(5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
(7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
(8) 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
(9) 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。
(10) 网络状态检测模块:当网络状态改变时,对其进行检6、LoonAndroid 主要有以下模块:
(1) 自动注入框架(只需要继承框架内的application既可)
(2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上现在所有的http请求)
(4) eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解析(支持解析成集合或者对象)
(7) 数据库(不知道是哪位写的 忘记了)
(8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
(9) 自动更新模块
(10) 一系列工具类
⑤ Android xutils开发框架怎么样
DbUtils模块:
ViewUtils模块:
HttpUtils模块:
BitmapUtils模块:
⑥ 如何打造一个 Android 编译时注解框架
1、区别:砖混结构属于砌体结构,框架结构属于混凝土结构,砖混结构和框架结构为结构形式,砌体结构和混凝土结构为结构体系。 2、砌体结构:以砌体为主制作的结构称为砌体结构。它包括砖结构、石结构和其它材料的砌块结构。分为无筋砌体结构和配筋砌体结构。砌体结构在我国应用很广泛,这是因为它可以就地取材,具有很好的耐久性及较好的化学稳定性和大气稳定性,有较好的保温隔热性能。较钢筋混凝土结构节约水泥和钢材,砌筑时不需模板及特殊的技术设备,可节约木材。砌体结构的缺点是自重大、体积大,砌筑工作繁重。由于砖、石、砌块和砂浆间粘结力较弱,因此无筋砌体的抗拉、抗弯及抗剪强度都很低。由于其组成的基本材料和连接方式,决定了它的脆性性质,从而使其遭受地震时破坏较重,抗震性能很差,因此对多层砌体结构抗震设计需要采用构造柱、圈梁及其它拉结等构造措施以提高其延性和抗倒塌能力。此外,砖砌体所用粘土砖用量很大,占用农田土地过多,因此把实心砖改成空心砖,特别发展高孔洞率、高强度、大块的空心砖以节约材料,以及利用工业废料,如粉煤灰、煤渣或者混凝土制成空心砖块代替红砖等都是今后砌体结构的方向。 3、砖混结构一般指把砖砌体用作内外承重墙或隔墙,楼盖、屋盖、梁、柱(也可是砖柱)是钢筋混凝土作用在墙柱上的荷载,主要是由梁板传来的屋盖、楼盖上的活、恒荷载,它通过墙柱基础传到地基。作用在纵墙上的水平荷载(如风荷)一部分直接由纵墙传给横墙,另一部分则通过屋盖和楼盖传给横墙,再由横墙传至基础,最后传给地基,承重墙的厚度及长度是根据强度和稳定性的要求,通过计算来确定的。 在砖混结构中的梁有门窗过梁、圈梁、雨蓬梁、阳台梁、楼梯梁等,这些梁的长度、配筋和截面尺寸,除圈梁是按构造配筋外,其它都是通过计算设计的,圈梁主要作用是提高房屋空间刚度、增加建筑物的整体性,提高砖石砌体的抗剪、抗拉强度,因此圈梁不是承重梁,当圈梁用作过梁时,只在过梁部位按设计配筋,其它部位仍是按构造配筋,有许多把圈梁当作承重梁对待,随意将圈梁下墙体敲掉,则留下了不安全的隐患。 4、框架结构是指以钢筋混凝土浇捣成承重梁柱,再用预制的加气混凝土、膨胀珍珠岩、浮石、蛭石、陶烂等轻质板材隔墙分户装配成而的住宅。适合大规模工业化施工,效率较高,工程质量较好。 框架结构由梁柱构成,构件截面较小,因此框架结构的承载力和刚度都较低,它的受力特点类似于竖向悬臂剪切梁,楼层越高,水平位移越慢,高层框架在纵横两个方向都承受很大的水平力,这时,现浇楼面也作为梁共同工作的,装配整体式楼面的作用则不考虑,框架结构的墙体是填充墙,起围护和分隔作用,框架结构的特点是能为建筑提供灵活的使用空间。
⑦ Android retrofit 注解@QueryMap和@Body的区别
1.使用retrofit这样框架快一年了,以前使用它传递参数时都是用@QueryMap注解传递,虽然知道这样不是很好,但是当时换框架的时候看到工作量太大就没有换成实体类形式了,之前的使用方式如下图:
10.从日志看出来,这才是POST请求参数参数的方式。
总结一下:@QueryMap注解会把参数拼接到url后面,所以它适用于GET请求;@Body会把参数放到请求体中,所以适用于POST请求。
如果你的项目是采用POST请求方式,不管是使用实体类还是使用HashMap最好采用@Body注解。虽然你使用QueryMap
可能也不会有什么问题(PS:这种共用的情况只适用于POST请求,GET请求不能使用@Body注解,否则会报错)。
⑧ android 数据库框架哪个好
xutils
android中的orm框架,一行代码就可以进行增删改查;
支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
⑨ android studio 安装了注解框架怎么使用
参考github上的demo,新建一个project后,会有一个位于app文件夹下的局部build.gradle文件和一个位于根目录project下的全局build.gradle文件,我们要修改的是局部gradle文件:
1 buildscript {
2 repositories {
3 mavenCentral()
4 }
5 dependencies {
6 // replace with the current version of the Android plugin
7 classpath 'com.android.tools.build:gradle:1.0.0'
8 // the latest version of the android-apt plugin
9 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
10 }
11 }
12
13 repositories {
14 mavenCentral()
15 mavenLocal()
16 }
17
18 apply plugin: 'com.android.application'
19 apply plugin: 'android-apt'
20 def AAVersion = '3.3-SNAPSHOT' // change this to your desired version, for example the latest stable: 3.2
21
22 dependencies {
23 apt "org.androidannotations:androidannotations:$AAVersion"
24 compile "org.androidannotations:androidannotations-api:$AAVersion"
25 }
26
27 apt {
28 arguments {
29 androidManifestFile variant.outputs[0].processResources.manifestFile
30 // if you have multiple outputs (when using splits), you may want to have other index than 0
31
32 resourcePackageName 'org.androidannotations.gradle'
33
34 // If you're using Android NBS flavors you should use the following line instead of hard-coded packageName
35 // resourcePackageName android.defaultConfig.packageName
36
37 // You can set optional annotation processing options here, like these commented options:
38 // logLevel 'INFO'
39 // logFile '/var/log/aa.log'
40 }
41 }
42
43 android {
44 compileSdkVersion 19
45 buildToolsVersion "21.1.1"
46
47 defaultConfig {
48 minSdkVersion 9
49 targetSdkVersion 19
50 }
51 }
最后再在AndroidManifest.xml中的Activity的名字后面加上 _(下划线)
然后编译项目 完成! 如果报错,请多编译几次。编译按钮:
⑩ android中的常用框架有哪些
Afinal框架
主要有四大模块:
(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,
没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),
更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,
在imageview显示图片的时候播放动画等(默认是渐变动画显示)。
xUtils框架
主要有四大模块:
(1) 数据库模块:android中的orm框架,一行代码就可以进行增删改查;
支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
(3) 网络模块:支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...