怎样在androidstudio中导入gson包

怎样在androidstudio中导入gson包,第1张

MySQL

SQLite

Android Studio如何在项目添加gson-2.2.3.jar?

标签: Android Android-Studio

我尝试使用新的Android Studio,但我似乎无法让它正常工作.

我使用Gson类库来序列化/反序列化JSON对象.但是类库不知何故无法包含在项目里.

我创建一个新的项目只用MainActivity.在/libs文件夹里复制gson-2.2.3.jar并添加它为一个类库.这样在android studio里包含了jar,因此它可以从源文件被引用.

当我试着运行项目,但是它无法被编译,所以我在.gradle文件里添加:

1

compile files('libs/gson-2.2.3.jar')

到依赖项里.然后我成功编译了项目,但是当我运行应用程序后,得到ClassDefNotFoundException异常.

解决方法 1:

把Gson jar(在我的项目里,是gson-2.2.4.jar)放入libs文件夹

右击它,然后点击 'Add as library'

确保编译文件('libs/gson-2.2.4.jar')在你的build.gradle文件里

注意:

第二步是关键步骤,如果漏了,将出现你无法运行的问题.

在Android开发中,我们Android客户端如果要和服务器端交互,一般都会采用json数据格式进行交互,json对于大家来说都不陌生,本文讲述一下关于gson,gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。

举一个简单的例子:

一个实体类 Person.java,参考代码如下:

public class Person {

private String name

private int age

public String getName() {

return name

}

public void setName(String name) {

this.name = name

}

public int getAge() {

return age

}

public void setAge(int age) {

this.age = age

}

@Override

public String toString()

{

return name + ":" +age

}

}

这个类赋值,看看如何使用gson如何使用:

1.gson生成Json字符串

Gson gson = new Gson()//实例化gson

List<Person>persons = new ArrayList<Person>()

for (int i = 0i <10i++) {

Person p = new Person()

p.setName("name" + i)

p.setAge(i * 5)

persons.add(p)

}

String str = gson.toJson(persons)//转换json

说明:上面代码主要说明gson的使用,它提供了toJason()方法将对象转换成Json字符串,转换出来就是很标准的json字符串.

2.gson如何将json字符串转换成java实体类

Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法。

日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构。

1)转换单一java实体如何实现

比如json字符串为:[{"name":"张三","age":20}],那么转换方式如下:

Person person = gson.fromJson(str, Person.class)

2)转换成列表类型

比如json字符串为:[{"name":"张三","age":20},{"name":"李四","age":15},{"name":"王五","age":21}]

List<Person>ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType())

for(int i = 0i <ps.size() i++)

{

Person p = ps.get(i)

System.out.println(p.toString())

}

说明:上面的代码使用了TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换。

下面分两种情况介绍一下如何导入第三方类库。

1、对于jar的类库,非常简单,只要在项目根目录下新建一个libs目录,然后把jar复制进去,在jar上点击右键,选择Add as library,即可完成依赖的添加。

2、对于github等网站上下载的源码类库,是无法通过这种方式添加的。首先把git clone下来的整个文件夹放入项目根目录下,这里以我自己的开发包为例,我的开发包名字是ShunixDevKit,里面有一个lib目录才是真正的类库,那么我们要做的就是手动在settings.gradle里面添加:

include ':ShunixDevKit:lib'

注意,gradle使用:作为路径分隔符。这样Android Studio就知道了我们的类库放在哪里,当然这样还是不够的,要让项目能使用类库,我们还需要添加这个类库作为项目的依赖,选择File->Project Structure,然后选中主module的名称,点击dependencies,添加:ShunixDevKit:lib就可以了,gradle的build就能成功。

以上就是添加第三方类库作为依赖的过程。这里需要注意一下的地方就是,导入的类库根目录下的gradlew文件一定要可执行,否则Android Studio会提示错误,而且根据错误信息很难找出来这个错误,我自己因为这个搞了很久,希望对大家有帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11564317.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存