导航:首页 > 操作系统 > androidjson插件

androidjson插件

发布时间:2022-06-01 08:21:07

‘壹’ android中有没有支持json格式的第三方富文本显示控件

用记事本就可以打开啊。选择的是什么方式打开呢?json只是一种约定的格式,一般是给程序读取的

‘贰’ android studio jsonviewwer插件怎么使用

Json.parserobject(String,Class);//得到T的数据 Json.parserarray(String,Class);//得到T的list数据 JSON中的关键词,层和T中的变量名要相同。有多有少不出错,只是不对应的没有数据

‘叁’ android中Gson解析json

新建一个bean类,里面写这三个字段,然后可以解析。其实你可以用Android Studio的插件啊,插件名字是GsonFormat,把json字符串贴进去,自动生成整个bean类。

‘肆’ gson-2.2.4.jar比android自带的json好用,为什么

因为它支持快捷生成,用了都说好
它带一个插件gsonformat,sutdio上装上这个插件,那么可以通过快捷键直接把后台给的json字符串生成实体类 通过new gson.fromJson(String json,实体类.class);转为我们生成的实体类,我们就可以很方便的操作数据了

我们也可以将需要向后台传递的json数据通过实体类转换而成 new gson(0.toJson()

‘伍’ 有什么好用的Android Studio的插件值得推荐

1.GsonFormat
快速将json字符串转换成一个java Bean,免去我们根据json字符串手写对应Java Bean的过程。

使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat
2.Android ButterKnife Zelezny
配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解。

使用方法:Ctrl+Shift+B选择图上所示选项
3.Android Code Generator
根据布局文件快速生成对应的Activity,Fragment,Adapter,Menu。

4.Android Parcelable code generator
JavaBean序列化,快速实现Parcelable接口。

5.Android Methods Count
显示依赖库中得方法数

6.Lifecycle Sorter
可以根据Activity或者fragment的生命周期对其生命周期方法位置进行先后排序,快捷键Ctrl + alt + K

7.CodeGlance
在右边可以预览代码,实现快速定位

8.findBugs-IDEA
查找bug的插件,Android Studio也提供了代码审查的功能(Analyze-Inspect Code…)

9.ADB WIFI
使用wifi无线调试你的app,无需root权限
也可参考以下文章:
Android wifi无线调试App新玩法ADB WIFI

10.AndroidPixelDimenGenerator
Android Studio自动生成dimen.xml文件插件

11.JsonOnlineViewer
在Android Studio中请求、调试接口

12.Android Styler
根据xml自动生成style代码的插件

Usage:
a. lines with future style from your layout.xml file
b. paste it to styles.xml file with Ctrl+Shift+D (or context menu)
c. enter name of new style in the modal window
d. your style is prepared!
13.Android Drawable Importer
这是一个非常强大的图片导入插件。它导入Android图标与Material图标的Drawable ,批量导入Drawable ,多源导入Drawable(即导入某张图片各种dpi对应的图片)

14.SelectorChapek for Android
通过资源文件命名自动生成Selector文件。

15.GenerateSerialVersionUID
实现Serializable序列化bean
Adds a new action ‘SerialVersionUID’ in the generate menu (alt + ins). The action adds an serialVersionUID field in the current class or updates it if it already exists, and assigns it the same value the standard ‘serialver’ JDK tool would return. The action is only visible when IDEA is not rebuilding its indexes, the class is serializable and either no serialVersionUID field exists or its value is different from the one the ‘serialver’ tool would return.
16.genymotion
速度较快的android模拟器

17.LeakCanary
帮助你在开发阶段方便的检测出内存泄露的问题,使用起来更简单方便。
可以参考以下文章:
LeakCanary 中文使用说明

18.Android Postfix Completion
可根据后缀快速完成代码,这个属于拓展吧,系统已经有这些功能,如sout、notnull等,这个插件在原有的基础上增添了一些新的功能,我更想做的是通过原作者的代码自己定制功能,那就更爽了

19.Android Holo Colors Generator
通过自定义Holo主题颜色生成对应的Drawable和布局文件

20.dagger-intellij-plugin
dagger可视化辅助工具

21.
maven gradle 依赖支持自动补全

22.RemoveButterKnife
ButterKnife这个第三方库每次更新之后,绑定view的注解都会改变,从bind,到inject,再到bindview,搞得很多人都不敢升级,一旦升级,就会有巨量的代码需要手动修改,非常痛苦
当我们有一些非常棒的代码需要拿到其他项目使用,但是我们发现,那个项目对第三方库的使用是有限制的,我们不能使用butterknife,这时候,我们又得从注解改回findviewbyid
针对上面的两种情况,如果view比较少还好说,如果有几十个view,那么我们一个个的手动删除注解,写findviewbyid语句,简直是一场噩梦(别问我为什么知道这是噩梦)
所以,这种有规律又重复简单的工作为什么不能用一个插件来实现呢?于是RemoveButterKnife的想法就出现了。
具体介绍
23.AndroidProguardPlugin
一键生成项目混淆代码插件,值得你安装~(不过目前可能有些第三方项目的混淆还未添加完全)

24.otto-intellij-plugin
otto事件导航工具。

25.eventbus-intellij-plugin
eventbus导航插件

26.idea-markdown
markdown插件

27.Sexy Editor
设置AS代码编辑区的背景图
首先点击界面的设置按钮 进入设置界面,选中Plugins,右边选择 Browser … ,输入Sexy … 下面自动弹出候选插件,右边点击Install 安装

安装成功 后需要重启AS

重启完成之后 进入设置界面 选择other Setting 下的Sexy Editor , 右侧 insert 一张或多张图片即可,上面的其他设置可以设置方位 间隔时间 透明度等等,设置完成后,要关闭打开的文件,重新打开项目文件即可在代码编辑区显示插入的图片,作为代码编辑区的背景图。

28.folding-plugin
布局文件分组的插件
29.Android-DPI-Calculator
DPI计算插件

使用:

或者

30.gradle-retrolambda
在java 6 7中使用 lambda表达式插件
修改编译的jdk为java8:

31.Android Studio Prettify
可以将代码中的字符串写在string.xml文件中
选中字符串鼠标右键选择图中所示

这个插件还可以自动书写findViewById

32.Material Theme UI
添加Material主题到你的AS

33..ignore
我 们都知道在Git 中想要过滤掉一些不想提交的文件,可以把相应的文件添加到.gitignore 中,而.gitignore 这个Android Studio 插件根据不同的语言来选择模板,就不用自己在费事添加一些文件了,而且还有自动补全功能,过滤文件再也不要复制文件名了。我们做项目的时候,并不是所有文 件都是要提交的,比如构建的build 文件夹,本地配置文件,每个Mole 生成的iml 文件,但是我们每次add,commit 都会不小心把它们添加上去,而gitignore 就是解决这种痛点的,如果你不想提交的文件,就可以在创建项目的时候将这个文件中添加即可,将一些通用的东西屏蔽掉。

34.CheckStyle-IDEA
CheckStyle-IDEA 是一个检查代码风格的插件,比如像命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,你们可以遵从像Google Oracle 的Java 代码指南 ,当然也可以按照自己的规则来设置配置文件,从而有效约束你自己更好地遵循代码编写规范。
35.Markdown Navigator
github:Markdown Navigator
Markdown插件

36.ECTranslation
Android Studio Plugin,Translate English to Chinese. Android Studio 翻译插件,可以将英文翻译为中文。

37.PermissionsDispatcher plugin
github:PermissionsDispatcher plugin
自动生成6.0权限的代码

38.WakaTime
github:WakaTime
记录你在IDE上的工作时间

39.AndroidWiFiADB
无线调试应用

40.AndroidLocalizationer
可用于将项目中的 string 资源自动翻译为其他语言的 Android Studio/IntelliJ IDEA 插件

欢迎关注微信公众号:终端研发部。和我一块交流和学习

‘陆’ android与服务器交互的应用怎么设计

笔者以前是学的Java EE,由于项目需要要开发Android,所以临时补了一个多星期,主要是手机端和服务器端交互,双向开发的。 转载

首先在服务器端,我采用的是SSH框架,struts 2集合了JSON插件,服务器和客户端的信息交互采用的JSON来传输,由于在服务器端用了Struts 2,所以我就用装了一个JSON插件。这样,很轻易的就把服务器端的信息用JSON的形式发送到了手机端。以下是代码:

首先,在服务器端搭建好SSH框架,具体细节就不在陈述。struts.xml配置如下:

<packagename="login"extends="json-default">
<actionname="login"class="com.jclick.test.LoginAction"method="login">
<resulttype="json"><paramname="includeProperties">result</param></result>
</action>
</package>

<packagename="login"extends="json-default">
<actionname="login"class="com.jclick.test.LoginAction"method="login">
<resulttype="json"><paramname="includeProperties">result</param></result>
</action>
</package>
手机端的代码如下:

首先,手机端有一个缓存类,主要用于缓存一些手机端需要访问的数据,这样的好处是可以达达节省手机和服务器的交互,用单例实现的:

packagecom.jclick.cache;

importcom.jclick.bean.User;

publicclassCache{

privateUserUser;

privateCache(){

}
/**构造单例*/
privatestaticclassCacheHolder{
=newCache();
}
publicCachegetInstance(){
returnCacheHolder.INSTANCE;
}
publicUsergetUser(){
returnUser;
}
publicvoidsetUser(UserUser){
this.User=User;
}

}

packagecom.jclick.cache;

importcom.jclick.bean.User;

publicclassCache{

privateUserUser;

privateCache(){

}
/**构造单例*/
privatestaticclassCacheHolder{
=newCache();
}
publicCachegetInstance(){
returnCacheHolder.INSTANCE;
}
publicUsergetUser(){
returnUser;
}
publicvoidsetUser(UserUser){
this.User=User;
}

}
接着开始书写手机端的协议,用户向服务器发送请求,同时服务器反馈给手机端信息的:

packagecom.jclick.protocol;

importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjava.util.List;

importorg.apache.http.HttpResponse;
importorg.apache.http.NameValuePair;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.entity.UrlEncodedFormEntity;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONException;
importorg.json.JSONObject;

publicclassBaseProtocol{
privateStringBuildersb=newStringBuilder();

privateHttpClienthttpClient;
privateHttpPosthttpRequest;
privateHttpResponseresponse;

privateList<NameValuePair>nameValuePair=newArrayList<NameValuePair>();

BaseProtocol(){
httpClient=newDefaultHttpClient();
}

/**
*向服务器端发送请求
*
*@paramurl
*@throwsException
*/
protectedvoidpack(Stringurl)throwsException{
httpClient=newDefaultHttpClient();
httpRequest=newHttpPost(url);

httpRequest.setEntity(newUrlEncodedFormEntity(nameValuePair));
response=httpClient.execute(httpRequest);
}

/**
*得到返回数据
*
*@paramurl
*@return
*@throwsException
*/
protectedvoidparse()throwsException{
//TODO状态处理500200
if(response.getStatusLine().getStatusCode()==200){

BufferedReaderbufferedReader2=newBufferedReader(
newInputStreamReader(response.getEntity().getContent()));
for(Strings=bufferedReader2.readLine();s!=null;s=bufferedReader2
.readLine()){
sb.append(s);
}
}
}

/**
*向服务器发送信息
*
*@paramkey
*@paramvalue
*/
publicvoidaddNameValuePair(Stringkey,Stringvalue){
nameValuePair.add(newBasicNameValuePair(key,value));
}

/**
*返回JSONObject对象数据模型
*
*@return
*@throwsJSONException
*/
publicJSONObjectgetJSON()throwsJSONException{
returnnewJSONObject(sb.toString());
}

}

packagecom.jclick.protocol;

importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjava.util.List;

importorg.apache.http.HttpResponse;
importorg.apache.http.NameValuePair;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.entity.UrlEncodedFormEntity;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.apache.http.message.BasicNameValuePair;
importorg.json.JSONException;
importorg.json.JSONObject;

publicclassBaseProtocol{
privateStringBuildersb=newStringBuilder();

privateHttpClienthttpClient;
privateHttpPosthttpRequest;
privateHttpResponseresponse;

privateList<NameValuePair>nameValuePair=newArrayList<NameValuePair>();

BaseProtocol(){
httpClient=newDefaultHttpClient();
}

/**
*向服务器端发送请求
*
*@paramurl
*@throwsException
*/
protectedvoidpack(Stringurl)throwsException{
httpClient=newDefaultHttpClient();
httpRequest=newHttpPost(url);

httpRequest.setEntity(newUrlEncodedFormEntity(nameValuePair));
response=httpClient.execute(httpRequest);
}

/**
*得到返回数据
*
*@paramurl
*@return
*@throwsException
*/
protectedvoidparse()throwsException{
//TODO状态处理500200
if(response.getStatusLine().getStatusCode()==200){

BufferedReaderbufferedReader2=newBufferedReader(
newInputStreamReader(response.getEntity().getContent()));
for(Strings=bufferedReader2.readLine();s!=null;s=bufferedReader2
.readLine()){
sb.append(s);
}
}
}

/**
*向服务器发送信息
*
*@paramkey
*@paramvalue
*/
publicvoidaddNameValuePair(Stringkey,Stringvalue){
nameValuePair.add(newBasicNameValuePair(key,value));
}

/**
*返回JSONObject对象数据模型
*
*@return
*@throwsJSONException
*/
publicJSONObjectgetJSON()throwsJSONException{
returnnewJSONObject(sb.toString());
}

}
接着是登陆协议,在这里我只是模拟登陆使用的一个类,仅供大家参考:

packagecom.jclick.protocol;

importorg.json.JSONObject;

importcom.jclick.bean.User;

{

privatefinalstaticStringURL="http://localhost:8080/test/login";

publicbooleancheckLogin(Userusr){
try{
pack(URL);
parse();
JSONObjectobj=this.getJSON();
if(obj.getString("result").equals("failed")){
returnfalse;
}else{
returntrue;
}
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
}

}

packagecom.jclick.protocol;

importorg.json.JSONObject;

importcom.jclick.bean.User;

{

privatefinalstaticStringURL="http://localhost:8080/test/login";

publicbooleancheckLogin(Userusr){
try{
pack(URL);
parse();
JSONObjectobj=this.getJSON();
if(obj.getString("result").equals("failed")){
returnfalse;
}else{
returntrue;
}
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
}

}
然后是User实体类,主要用于保存用户信息:

packagecom.jclick.bean;

publicclassUser{
privateStringusername;
privateStringpassword;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}

}

packagecom.jclick.bean;

publicclassUser{
privateStringusername;
privateStringpassword;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}

}
最后就是LoginActivity里边判断登陆的代码了,详细代码不再贴出来了,仅贴一个判断登陆的代码:

privatevoidcheckedData(){
username=((EditText)findViewById(R.id.username)).getText().toString();
password=((EditText)findViewById(R.id.password)).getText().toString();

Useruser=newUser();
user.setUsername(username);
user.setPassword(password);
LoginProtocollogin=newLoginProtocol();
booleanresult=login.checkLogin(user);

if(result){SpiderCache.getInstance().setUserSession(user);
Toast.makeText(getApplicationContext(),"登录成功",1000).show();
Intentintent=newIntent();
intent.setClass(LoginActivity.this,WelcomeActivity.class);
startActivity(intent);
}else{Toast.makeText(LoginActivity.this,"密码或用户名不匹配,请重新输入!",1000).show();
}
}

privatevoidcheckedData(){
username=((EditText)findViewById(R.id.username)).getText().toString();
password=((EditText)findViewById(R.id.password)).getText().toString();

Useruser=newUser();
user.setUsername(username);
user.setPassword(password);
LoginProtocollogin=newLoginProtocol();
booleanresult=login.checkLogin(user);

if(result){ SpiderCache.getInstance().setUserSession(user);
Toast.makeText(getApplicationContext(),"登录成功",1000).show();
Intentintent=newIntent();
intent.setClass(LoginActivity.this,WelcomeActivity.class);
startActivity(intent);
}else{ Toast.makeText(LoginActivity.this,"密码或用户名不匹配,请重新输入!",1000).show();
}
}
以上代码为了跟大家分享一下,感觉手机端和服务器双向开发非常过瘾。同时对Android的兴趣大大提升,它也没有我们想象中的那么难。

‘柒’ android studio 手机调试需要安装哪些插件

点击File,选择Settings,或者按快捷键Ctrl+Alt+S打开设置界面

选择Plugins,可以看到我们的插件列表

搜索你想要的插件,如Gson插件

选择GsonFormat,然后Install plugins,安装插件。安装插件后,需要重启Android Studio。安装好后可以看出来跟工具自带插件的区别。点击GsonFormat可以选择卸载掉插件。

不同的插件有不同的使用方法,GsonFormat是在文件中右键选择Generate或者
按下Alt+Insert按钮,选择GsonFormat格式化json。

‘捌’ android studio能将json数据整齐显示吗

很久以前写json解析用原始的解析json的方法,后来为了加快开发进度,开始使用gson,fastjson等第三方jar包来进行json解析,为了保持apk足够小,不因为引入jar包导致apk文件过大,选择使用gson来加速json解析,当然,去年androidstudio 1.0版本出来,很多人开始使用androidstudio,当然studio有很多方便开发的插件加速应用的开发,减少开发者的劳动力。

今天推荐个工具就是:gsonformat

下载地址:
https://github.com/zzz40500/GsonFormat

用过后表示,怎么这么酸爽的呢,哈哈
----》可以下载这个对应的插件,格式是会自动匹配的。

‘玖’ Android端,要从后台获取json数据,后台将这个json以流的形式发送,那Android端怎

JSON数据就是一个JSON格式的字符串,接收到服务端来的JSON数据,转为JSONObject
,然后处理后(JSONObject 加减KEY、VALUE),然后JSONObject.tostring()发给服务端即可。


【超级盘点机】超市盘点机安卓条码扫描APP软件,ENJOY!

‘拾’ android开发用什么从服务器获取数据

在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有
一:基于Http协议获取数据方法。二:基于SAOP协议获取数据方法,三:忘了-------
那么我们的这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。
那么,接下来我们便开始这一路程:
首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。
服务器端:新建WebProject ,选择Java ee 5.0.
为了给项目添加Struts2的支持,我们必须导入Struts2的一些类库,如下即可(有些jar包是不必的,但是我们后来扩展可能是要使用到的,就先弄进去):
1: xwork-core-2.2.1.1.jar
2: struts2-core-2.2.1.1.jar
3: commons-logging-1.0.4.jar
4: freemarker-2.3.16.jar
5: ognl-3.0.jar
6: javassist-3.7.ga.jar
7:commons-ileupload.jar
8:commons-io.jar
9:json-lib-2.1-jdk15.jar 处理JSON格式数据要使用到

10:struts2-json-plugin-2.2.1.1.jar 基于struts2的json插件
以上的jar包,需要放在WebRoot/WEB-INF/lib目录下
然后在web.xml文件中敲下:
View Code
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- 定义Struts2的核心控制器:FilterDispatcher -->
<filter>
<!-- 定义核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!-- 定义Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

</web-app>
然后编写struts.xml文件,并放在WebRoot/WEB-INF/lib目录下:如下代码:
View Code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

<!-- setting encoding,DynamicMethod,language
<constant name="struts.custom.i18n.resources" value="messageResource"></constant>
-->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

<!-- add package here extends="struts-default"-->
<package name="dongzi" extends="json-default"> <!--需要将struts-default改为json-default-->
<!-- setting action -->
<action name="login" class="com.dongzi.action.loginAction" method="login">
<result type="json"></result> <!--返回值类型设置为json,不设置返回页面-->
</action>
</package>
</struts>
配置好后,我们再根据<action>标签内容来编写action。方法为method对应的login,类名为loginAction,
注意:包继承为:json-default ,输出结果类型为json
如下:
View Code
public class loginAction extends ActionSupport implements
ServletRequestAware,ServletResponseAware {
/**
*
*/
private static final long serialVersionUID = 1L;

HttpServletRequest request;
HttpServletResponse response;

public void setServletRequest(HttpServletRequest request) {
this.request=request;
}

public void setServletResponse(HttpServletResponse response) {
this.response=response;
}

public void login(){
try {
//HttpServletRequest request =ServletActionContext.getRequest();
// HttpServletResponse response=ServletActionContext.getResponse();
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
if(this.request.getParameter("username").equals("123456")){
this.response.getWriter().write("真的很奇怪,日本人!");
}else if(this.request.getParameter("username").equals("zhd")){
this.response.getWriter().write("没有错,我就是东子哥!");
}else{
this.response.getWriter().write("我就是东子哥!");
}

//将要返回的实体对象进行json处理
// JSONObject json=JSONObject.fromObject(this.getUsername());
//输出格式如:{"id":1, "username":"zhangsan", "pwd":"123"}
// System.out.println(json);

// this.response.getWriter().write(json.toString());
/**
JSONObject json=new JSONObject();
json.put("login", "login");
response.setContentType("text/html;charset=utf-8");
System.out.println(json);
byte[] jsonBytes = json.toString().getBytes("utf-8");
response.setContentLength(jsonBytes.length);
response.getOutputStream().write(jsonBytes);
**/
/**
JSONObject json=new JSONObject();
json.put("login", "login");
byte[] jsonBytes = json.toString().getBytes("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setContentLength(jsonBytes.length);
response.getOutputStream().write(jsonBytes);
response.getOutputStream().flush();
response.getOutputStream().close();
**/

} catch (Exception e) {
e.printStackTrace();
}
// return null;
}
}
运行查看下:http://localhost:8080/PDAServer/login.action?username=123456 当然你可以输入其他参数的URL

阅读全文

与androidjson插件相关的资料

热点内容
不能修改的pdf 浏览:739
同城公众源码 浏览:475
一个服务器2个端口怎么映射 浏览:283
java字符串ascii码 浏览:62
台湾云服务器怎么租服务器 浏览:462
旅游手机网站源码 浏览:317
android关联表 浏览:930
安卓导航无声音怎么维修 浏览:322
app怎么装视频 浏览:424
安卓系统下的软件怎么移到桌面 浏览:81
windows拷贝到linux 浏览:757
mdr软件解压和别人不一样 浏览:889
单片机串行通信有什么好处 浏览:325
游戏开发程序员书籍 浏览:849
pdf中图片修改 浏览:275
汇编编译后 浏览:480
php和java整合 浏览:835
js中执行php代码 浏览:447
国产单片机厂商 浏览:63
苹果手机怎么设置不更新app软件 浏览:289