1. android arr和jar的區別是什麼
兩者區別:
*.jar:只包含了class文件與清單文件,不包含資源文件,如圖片等所有res中的文件。
*.aar:包含所有資源,class以及res資源文件全部包含
如果你只是一個簡單的類庫那麼使用生成的*.jar文件即可;如果你的是一個UI庫,包含一些自己寫的控制項布局文件以及字體等資源文件那麼就只能使用*.aar文件。
使用方式:
*.jar:拷貝到:libs目錄,eclipse直接導入即可,AndroidStudio項目中添加:
[java] view plain
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}
重新編譯一次項目既可完成載入。
*.aar:有兩種方式,分別為本地載入以及網路載入,由於網路載入涉及到發布到mavenCentral託管的問題這里不做討論;另外eclipse很久沒有使用了也不做討論;在這里給大家說一種本地載入的方式,簡單快捷。
這里演示的aar文件為:」genius.aar「
第一步:拷貝到:libs目錄
第二步:build.gradle 配置文件中更改為
[java] view plain
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'genius', ext:'aar')
}
分別添加了」repositories「與更改了」dependencies「,然後重新編譯一次項目就可以正常使用了。
這時打開你的項目地址」\build\intermediates\exploded-aar\「你會發現下面多了一個文件夾」genius「打開後能看見里邊包含了一個」classes.jar「文件與一些資源文件和」R.txt「文件。
這就是Android Studio自動解析了aar文件後出現的東西。
一.android studio引入aar包接入方式
1..File—>New—>New Mole—>Import .JAR/.AAR Package
2.Open Mole Settings—>Dependencies 添加依賴
完成aar包的引入
2. txt通訊錄如何導入安卓手機呢,請教一下各位
今天花了半天時間幫同事把舊手機的txt通訊錄導入到新買的安卓手機上了。把過程記錄下來,希望對大家有所幫助。
舊手機導出的txt通訊錄格式如下:
<1>
姓名:張三
電話:13922334455
<2>
姓名:李四
電話:12345678
<2>
姓名:王五
電話:18812345678
我的計劃是先導入到qq通訊錄,再通過qq通訊錄下載到新手機。但是舊手機用jar版的qq通訊錄無法同步,總是提示網路錯誤。登錄網頁版qq通訊錄,提示可以導入vcard、csv、excel格式的通訊錄。
先試著從網上找到一款txt轉vcard的軟體,但是軟體要求的txt通訊錄格式是
張山13922334455
李四12345678
王五18812345678
先把txt通訊錄用excel打開,使用查找替換,把<1>、「姓名:」、「電話:」去掉。
通過一番搜索學習,學會通過編輯定位,去除空白行,現在的表格如下:
張三
13922334455
李四
12345678
王五
18812345678
如何把2行內容合為1行,網上有人給的公式是用inderect、offset函數。我對那幾個函數不太了解,用的是笨方法,用concatenate函數合並,先在B1單元格輸入=concatenate(a1,a2),再自動套用公式,現在的表格如下:
張山 張三13922334455
13922334455 13922334455李四
李四 李四12345678
12345678 12345678王五
王五 王五18812345678
先把第二列的公式去掉,只保留計算出的結果。把第二列復制,再在第三列 選擇性粘貼-數值,再刪除第二列。後面去掉公式同樣用的這方法。
現在只要把偶數行刪掉就OK了。用通過搜索學習,還是用的編輯-定位。在D1輸入1,D2輸入=1/0,然後下拉套用公式,則這一列奇數行顯示為1,偶數行顯示為#DIV/0! 。通過編輯-定位,選擇公式-錯誤,定位,選擇所有偶數行,再編輯-刪除,刪除整行。再把多餘的列刪除,只保留原來的第二列,就得到了如下表格:
張山13922334455
李四12345678
王五18812345678
總算是可以用那個軟體把txt轉成vcard格式了,但是因為姓名和電話沒有分開,導入到qq通訊錄一看,有很多錯誤。
又嘗試用了一個Android導入導出txt通訊錄工具,這個要求把姓名和電話分成兩列。
這次用的是left,right函數。在a2輸入=left(a1,len(a1)-11),在a3輸入=right(a1,11),下拉套用公式。用前面說的選擇性粘貼數值的方法去掉公式。這時的表格基本完美,但是通訊錄里保存有一些固定電話,不是11位的手機號。這些當然顯示有問題,好在數量不多,再一個一個手動修改。
表格修改完成保存成txt文本,按照操作提示,導入文本通訊錄,等了半天,軟體一直顯示正在導入。我決定再換一種方式。
最後看的是qq通訊錄要求的excel導入模板格式。因為前面已經把txt通訊錄保存為excel通訊錄了,第一列是姓名,第二列是電話。現在只要按照qq通訊錄的模板把電話放到第四列,再在頂端插入一行,把模板里的第一行粘貼過來就行了。之後順利把953個聯系人導入到qq通訊錄,然後再同步到新手機上。
3. 安卓手機怎麼運行jar文件
可以
安卓對Java的支持和其他一般手機中Java軟體支持完全不是一個概念。
籠統的你可以理解為,前者是系統級的,Java作為安卓系統的默認/推薦開發語言,安卓官方API(除了NDK)都是Java的。
而其他手機中對Java的支持是通過J2Me/Kjava,也就是說是Java虛擬機的移動版,並非系統原生支持,只是支持在這些手機平台上裝一個Java虛擬機而已。
舉個例子,Windows的API是C的,但是Windows下也可以安裝JRE(Java 運行環境)來運行Java程序,但是很少有人用Java來做Windows的桌面程序,大多是用C/C++寫。
但安卓的API本身就是Java的,不存在另裝JRE的問題,也不存在不能訪問本地API的問題,所以Android的程序都用Java來寫。(除了對性能要求特別高的3D游戲等可能直接用C + NDK來寫)
另外能在其他機子上跑的kjava程序不一定能在Android上跑,因為Android用的VM和Sun(現在是Oracle)的完全不同,只是都是用Java這個語言而已。
4. Android 應用 如何處理通過text/x-vcard 傳遞過來的數據
vcard是聯系人數據,如果手機里有相應的vcard處理程序會自動彈出來,如果沒有需要你自己解析vcard。vcard的解析android系統源碼裡面自帶有。如果你沒有源碼可以網上找一下vcard的解析方式,也可以你自己解析,不過首先你要找一些vcard文件打開看看裡面的格式。vcard文件可以通過手機聯系人的導入導出來獲取。
5. android怎麼使用jar包
Android項目常常需要引用自定義的或者外部的jar包,這里提供一些經驗,供參考。
一. 一般做法:
1. 通常情況下,直接將jar包在Eclipse工程中的libs目錄下,就可以了,Eclipse就會自動引用過來,代碼中有紅叉的地方也就會消失了。
2. 查看build path中order and export中的private Libaries和Dependencies是否勾選,正確的做法是勾選。
再clean整個工程,再運行可否。
3. 你的jar文件必須也是由Android工程創建的,否則,會發生「"java.lang.NoClassDefFoundError「等錯誤,下面是一個錯誤:
12-09 00:43:05.172: E/dalvikvm(4456): Could not find class 'com.example.test4androidjar2.Jar4Android', referenced from method com.example.filemanagertest4android.MainActivity$1.onClick
4. 你的jar包必須是在Android下面編輯和編譯,打包,不能在java中進行打包。FileMnager就是一例。
二.可能引起的異常:
1. Could not find class ......
2. VFY: unable to resolve new-instance 643 .....
3. Could not find class 'com.example.test4androidjar2.Jar4Android'
4. java.lang.NoClassDefFoundError...
三. 解決方法:
參考上面"一.一般做法"中提到的來做。
6. android怎麼導入第三方jar包
在windows7操作系統Android studio中按照如下步驟導入jar包。
1、首先使用Android studio創建一個android項目,如下圖:
7. 如何製作Jar包並在android中調用jar包
Android中jar包封裝及調用
在android開發過程中,我們經常會有這種需求,自己開發一個類庫jar包,提供給別人調用。 即把項目A封裝成jar包,供項目B調用,而在項目B中調用項目A的activity的時候問題就出現了:找不到資源文件(異常:ERROR/AndroidRuntime(3341):Caused by: android.content.res.Resources$NotFoundException: Stringresource ID #0x7f060007)。問題是,只能共享src文件夾下的代碼,而不能共享res資源文件,夠郁悶!創建一個Androidproject, 用eclipse的export導出,去掉AndroidManifest.xml,res 什麼的,這樣只共享了代碼,而此代碼中所調用的res資源文件卻不能正常使用,否則會拋出res.Resources$NotFoundException異常。那麼如何解決呢?
1.如果只用共享代碼,而共享的代碼中不涉及到res資源文件的調用的話,直接在Eclipse中導出jar包,在所需要的項目中引用即可。
2.如果共享代碼,而且共享的代碼中涉及到res資源文件的調用,網上通用的方法是把res資源文件放到assets文件夾中,再在src代碼中載入處理,然後再用eclipse導出jar包,引用即可(res資源雖然可以打進jar包,但當其他項目調用jar包時jar包中引用ID 指向的是當前項目的資源,關於如何讓jar包中的資源引用只想jar包中的res文件暫無解決方案。我的問題已解決,解決方案:把圖片資源放入assets包中一並打入jar包,布局就只能用代碼了。jar包中代碼可以成功引用jar包內的assets文件。
另:JNI層不可被打包入jar包,只能同jar包一同提供給第三方並放入工程目錄下的libs包中)。
3.如果共享代碼,而且涉及到res資源文件的調用,而且不想把res資源文件放到assets文件夾中的,直接生成jar包會出現的問題:
1).當在別的項目中引用此jar包時,在項目名上出現小紅叉,並且在console控制台上直接自動提示:Errorgenerating final archive: Found plicate file for APK:res/drawable-hdpi/icon.png,通常的解決方法時,在能編譯通過的此項目中直接去掉提示的資源文件,再生成jar包。
2).把公共的icon等資源文件刪除,生成jar包之後,此時在項目中引用,console控制台上無自動報錯現象。如果jar包中的activity調用了res資源文件夾中的文件,在當前項目中調用jar包中的acticity時,問題就出現了,activity所引用的res資源,如果引用的是Strings.xml文件中的值,則拋出異常ERROR/AndroidRuntime(3341):Caused by: android.content.res.Resources$NotFoundException:Stringresource ID#0x7f060007。如果引用的是layout文件夾中的文件,能找到layout中的xml,例如layout中ee.xml,可以找到R.layout.ee,但是在ee.xml中定義的控制項id卻引用不到,拋出異常ERROR/AndroidRuntime(13703):Caused by:java.lang.NullPointerException。如果在當前項目中調用不涉及jar包中的res的調用,一切OK。
4.如果共享代碼,而且共享的代碼中涉及到res資源文件的調用,如果封裝成jar包,這種方法是達不到要求的(調用jar中封裝的activity,還得保證jar包中activity正常調用jar中所封裝的res資源,上面說了,jar包中的res資源部分調用為空),那麼如何能滿足需求呢?把要生成jar包的項目做一下處理,在jar包項目的properties窗口中選擇android的選項卡的isLibaray,點擊apply按鈕或者ok按鈕(此時,jar包項目再點擊右鍵選擇runas → AndroidApplication就能正常運行了)。在要引用jar包的項目中,右擊項目名稱,打開properties框口,選擇android的選項卡的isLibaray右側的Add按鈕,添加jar包項目。這樣jar包項目中的activity就能正常引用到jar包項目中的res資源了。項目調用jar包項目的activity就正常了。
8. 如何生成jar文件供android使用
首先創建一個Android工程,確定可以編譯通過,移除androidmanifest.xml文件,和相關的程序資源圖片,比如 res/drawable/icon.png。在Eclipse中我們找到Package Explorer,選擇export,如圖:
導出
1. 創建java project
2. 工程屬性java build path->Libraries中加入android.jar
3. package explorer中右鍵點擊工程,export java->jar file.
使用
1. 創建android project
2. 工程屬性java build path->Libraries中加入剛才的jar文件
3. 在android工程中使用jar的類。
只能在jar中共享代碼,使用資源不行。
9. android怎麼成功調用自己寫的jar包
導出:如果是eclipse的話,右鍵項目,選擇export,選擇java下的jar file
使用:將jar文件放到項目的libs目錄下
如果2個項目都是你自己開發的,為了快捷開發,你不需要每次都導出的。
1.假設項目a是要導出jar的項目,你將a項目設置成lib屬性:右鍵-》properties->android 將is library勾選上
2.假設項目b是要使用項目a的jar包的項目,你讓b引用的項目a即可:右鍵-》properties->android-》add選擇你的項目a
10. 安卓系統的通訊錄里的Vcard文件路徑在哪裡
安卓手機通訊錄存放位置:data/data/com.android.provides.contacts。
打開步驟如下:
1、打開「我的文件」。
(10)androidvcardjar擴展閱讀
Android平台的優勢:
1、開放性:
在優勢方面,Android平台首先就是其開放性,開發的平台允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平台也將很快走向成熟。
開放性對於Android的發展而言,有利於積累人氣,這里的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟體資源。開放的平台也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。
2、豐富的硬體:
這一點還是與Android平台的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。
功能上的差異和特色,卻不會影響到數據同步、甚至軟體的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟體帶到iPhone上使用、聯系人等資料更是可以方便地轉移。
3、Google應用:
在互聯網的Google已經走過10年度歷史,從搜索巨人到全面的互聯網滲透,Google服務如地圖、郵件、搜索等已經成為連接用戶和互聯網的重要紐帶,而Android平台手機將無縫結合這些優秀的Google服務。