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服务。