① 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內存;
可配置線程載入線程數量,緩存大小,緩存路徑,載入顯示動畫等...