其实两年前做过这个功能,项目最近需要加上获取微信用户信息的需求,索性我就写成一篇文章,当做笔记 我在项目中用到的是点击一个按钮发起微信授权请求的需求,首先判断是否安装微信,如果安装微信则进行用户授权,...授权成功之后通过微信提供的接口获取openID等用户信息,然后做自己的业务: 1、 Android端要使用微信登录,必须在微信开发平台创建APP并且审核通过,得到appid和secret 2、 依赖微信...wxapi包和WXEntryActivity类(继承Activity并实现IWXAPIEventHandler接口)WXEntryActivity是微信回调的一个类,通常给个透明的主题或者处理完业务逻辑就直接...nickName = jsonObject.getString("nickname"); sex = jsonObject.getString("...= jsonObject.getString("province"); country = jsonObject.getString("country
官方在 Android 侧提供了一个抽象类BridgePlugin,我们需要继承它实现一些方法来进行通信。在 ArkUI-X 侧同样提供了'@arkui-x.bridge包来进行通信。...在官方提供的场景示例中[6]中,是在页面(也就是被@Entry装饰的类)中创建的,但是在实践中发现不能正常运行,会创建 Bridge 对象时会报错 Error message: Cannot read...registerMethod({name:"getString",method:this.getString}) 在 Android 侧 JSONObject params = new JSONObject...方法时,首先调用的是jsCallMethod,在jsCallMethod中首先调用findMethod方法从methodsMap_中获取对应的方法,找了则直接调用。...没找到则反射获取 BridgePlugin 实现类中的方法,然后使用方法名做匹配,找到对应的方法。到这里也就解释了为啥不支持方法重载。也解释了为啥方法参数对应不上会有异常。
首先使用 DBQuizHelper类在SQLite中创建数据库。DBQuizHelper类是自定义的一个操作数据库的类。...解析XML的工作在类ParseHandler中完成,它继承自DefaultHandler,解析时需要重写DefaultHandler中的方法。...Android系统内部在解析各种XML时也是用PULL解析器,Android官方也推荐使用PULL解析技术。...statement = jsonObject.getString("statement"); String type = jsonObject.getString("type");...(2) Android****的文件存储方式 在逻辑上,Android系统把整个存储空间划分为内部存储(Internal storage)和外部存储(External storage)。
640.png 上一篇得到发送验证码请求的sign签名算法后,这篇主要介绍4位纯数字验证码burp插件的编写。...,再介绍验证码插件编写及使用。...此接口用于实现我们自定义的生成器,implements该接口后,可以使用该接口提供的3个方法,返回我们生成的payload,如下所示 IIntruderPayloadProcessor 在插件中...payloadIndex = 0; } } 根据新的验证码参数及burp中的请求数据生成相对应的sign签名并返回新的请求数据 //在Utils类中定义我们计算sign及构造新的请求包体(...安全测试时在处理请求中带有sign请求校验的,可以尝试使用插件。如果需要本篇文章中测试的burp插件代码,可以在公众号回复"VerifyCode BurpExnteder",通过百度云链接下载。
先获取到全国各个城市的信息,展示在搜索城市页面,方便查找。...第二层就是一个搜索框,使用到的是AutoCompleteTextView,带有提示信息的输入框,EditView也可以,右边搜索图标设置点击监听事件。...,才能以此为根据提示城市名称,由于获取全国全部城市的API太难找,而且免费版的还有使用上限,所以此处直接根据文件读取,并封装。...前几篇文章由于网络请求api封装用到的是Gson第三方工具,也提到了使用JsonObject等封装,所以此文会使用JsonArray,JsonObject来进行Json数据封装。...,前面文章已经讲述过RecyclerView的用法,同时,也可以实现点击item跳转到主页获取天气的操作,前面文章也已经提到,不想过多赘述了; 若是嫌弃城市列表太多,都显示在一个页面还得滑动屏幕一个个找
Android-Gson+GsonFormat的导入 Android-json解析(一):Gson的使用 Android-json解析(二):Jackson的使用 Android-json解析(...三):原生JSONObject+JSONArray的使用 Android-json解析(四):fastjson的使用 Android -序列化 : Serializable / Parcelable...JSONArray(jsonStr); 三、如何从JSONArray中获得JSONObject对象 遇到方括号时,就要先获取JSONArray,然后再循环遍历出JSONObject 大家可以把JSONArray...当成一般的数组来对待,只是获取的数据内数据的方法不一样。...(JSONArray) object : null; } getString 可以看出 返回的任何数据类型都会被转换为String public String getString(String name
SharedPreference是Android上一种非常易用的轻量级存储方式,由于其API及其友好,得到了很多很多开发者的青睐。...在小米1S这种手机上,就算获取这个sp里面一个很小的key,会花费120+ms!!那个毫不相干的key拖慢了其他所有key的读取速度!当然,在性能稍好的手机上,这个问题不是特别严重。...下面是默认的sp实现SharedPreferenceImpl这个类的getString函数: public String getString(String key, @Nullable String defValue...文档也说了,这玩意在某些Android版本上不可靠,并且未来也不会提供任何支持,要是用跨进程数据传输需要使用类似ContentProvider的东西。...保证了在API 11以前的系统上,如果sp已经被读取进内存,再次获取这个sp的时候,如果有这个flag,会重新读一遍文件,仅此而已!所以,如果仰仗这个Flag做跨进程存取,简直就是丢人现眼。
图2 显示天气情况 这款App使用前面章节介绍的UI技术、网络技术,并且使用Kotlin语言编写。其中有一些Library使用了Java编写,实际上,这款App是Kotlin和Java的结合体。..." android:layout_width="match_parent" android:layout_height="match_parent" /> 在布局文件中,使用标签引用了一个...实际上,Fragment是从Android 3.0开始加入的类,相当于一个透明的Panel,用于封装逻辑和UI,可以作为一个组件使用。...例如,地区列表是从服务端获取的JSON数据,因此,需要有相应的类来完成从网络上获取数据的工作,而且获取的是JSON格式的数据。因此,在使用这些数据之前,需要先将其转换为Kotlin类。...第4个方法用于分析描述天气信息的JSON数据,而且未使用Android SDK标准的API进行分析,而是使用了gson开源库对JSON数据进行分析,并返回一个Weather对象,Weather类与其他相关类的定义需要符合
例如,可以允许用户保存那些用于访问Web资源的登录凭据, 等等。 在Android中,可以使用PreferenceActivity基类为用户显示一个用于编辑首选项的活动。...在Android 3.0和更高版本中,可以使用PreferenceFragment类实现相同的功能。.../ findPreference(“child_checkbox_preference”).setOnPreferenceClickListener(…); // 选项监听 当 Preference 的值发生改变时触发该事件...” android:title=”文本输入偏好” android:summary=”使用一个文本框对话框” android:dialogTitle=”输入你的宠物” /> android:key=”list_preference...” android:title=”开关偏好” android:summary=”另一个屏幕上的偏好” /> android:title=”意图偏好” android:summary=”通过意图启动一个Activity
对象 JSONObject.getString : 获取指定名称的字符串值 JSONObject.put : 添加一个json元素 JSONObject.toString : 把当前JSONObject...: 获取json对象数组在指定位置处的JSONObject对象 JSONArray.put : 往json对象数组中添加一个JSONObject对象 fastjson fastjson的常用方法有...对象 JSONObject.getString : 获取指定名称的字符串值 JSONObject.put : 添加一个json元素 JSONObject.toString : 把当前JSONObject...pull pull在解析xml时是边读取边解析,这种处理方式类似sax,同时pull与sax相比,解析更加方便快速,更适合用于移动平台。...由于是整个读取,因此在效率上不够高,不建议在移动平台上应用dom。
Android网络与数据存储 第二章学习 ---- 在线请求天气API,并解析其中的json数据予以显示#### 概要: 请求互联网信息提供商并取得返回的数据使用到HttpURLConnection,.../ 1.HttpURLConnection类的使用##### 本来Android发送Http请求拥有两种方式,分别是HttpURLConnection和HttpClient,但在Android 6.0...时,HttpClient已经彻底从SDK里消失了,虽然是个重要的类,包括如今的阿里云服务中,也依然给我们提供了基于HttpClient的API请求SDK,由于版本问题,我也难以使用。...("GET"); Get:请求获取Request-URI所标识的资源 POST:在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应信息报头...Object和Array这两种东西,慢慢按照结构把最终的值使用类似getString的方法取到。
city=%E4%B8%8A%E6%B5%B7 在你的Android Studio中也提供一个插件名为:GsonFormat,GsonFormat可以帮你格式化Json数据,并自动生成相应的属性类。...这个插件是不是很好,那就下载吧,如果项目巨大,你的Json数据多到你也不想打代码了吧! 下载完Android Studio中的插件时(过程可以百度)重新启动一下就行。...有了GsonFormat的功能,我们就不用辛苦生成Json数据里的属性类。 四:使用json解析 JSON数据一般由服务器端提供接口,我们根据接口地址解析数据,然后把数据显示在APP上。...对于HTTP协议是这样的,http为超文本传送协议,是web的基础,http是建立在tcp上的一种。http在客户端发送请求都要服务器回送响应,请求结束后,会主动释放。这个过程连接到关闭为一次连接。...五:网络权限 在我们使用网络请求的时候,需要的是设置权限,这一点千万别忘记了。
JSON 採用与编程语言无关的文本格式,可是也使用了类C 语言的习惯。这些特性使JSON 成为理想的数据交换格式。 和 XML 一样,JSON 也是基于纯文本的数据格式。...Boolean 和一个 null: ["abc",12345,false,null] Object 对象在 JSON 中是用 {} 包括一系列无序的 Key-Value 键值对表示的。...{"city":"Beijing","street":" Chaoyang Road ","postcode":100025} } 以下写一个实例:(记得server端要先导包) 这是在我以前写好的代码上写的...以下是android的介绍 Android SDK 提供了Apache 的HttpClient 类处理网络訪问,相信非常多读者朋友都在其它项目其中用 到过HttpClient。...我写了一个方法类,获取某一网址的网页内容,代码例如以下: package com.four.http; import java.io.BufferedReader; import java.io.InputStreamReader
正文 上一篇文章中是在主页面中进行手动输入的,而如果我想要在这里面在加上语音搜索的入口自然也是也可以的,只不过页面的代码就很多了,因此痛定思痛我打算新写一个页面单独做这个语音输入,然后搜索物品分类,...中的,子类继承父类可以使用父类中的成员变量。...; } public void voiceInput(View view) { showMsg("语音"); } } 三、导入讯飞SDK 这个语音页面主要的核心还是在语音上...四、请求权限 语音输入需要使用麦克风,这个是需要权限的,因此要动态申请,这个权限申请有两种方式,第一个是在应用安装运行时申请,通常是在引导页或者欢迎页,第二个就是在用户需要使用这个功能时才去请求权限...id,当业务出错时将会话id提供给技术支持人员,可用于查询会话日志,定位出错原因 // 若使用本地能力,会话id为null if (SpeechEvent.EVENT_SESSION_ID
菜单界面 在MainActivity 的initView方法里 // 添加菜单 fl_menu=(FrameLayout) findViewById(R.id.fl_menu); MenuHolder...(holder.getContentView()); 菜单布局(写上这个属性在小屏幕上能滑,大屏幕上是匹配屏幕) android="http://schemas.android.com...可以使用快捷,白条、小金库等方式付款。"...jsonObject = jsonArray.getJSONObject(i); safeUrl.add(jsonObject.getString("safeUrl")); safeDesUrl.add...(jsonObject.getString("safeDesUrl")); safeDes.add(jsonObject.getString("safeDes")); safeDesColor.add
Toast.makeText(MainActivity.this,"未授權相機權限",Toast.LENGTH_SHORT).show(); } } } // 拍照时获取原始图片...不是空的就是已经有图片,进行返回,并将图片放置在ImageView下面。...String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT); // 在单独的线程上执行网络请求...= info.getString("Value");在代码中声明HashsatSet ocrLast_name = new HashSet();判断infoname中是否包含“...(infoValue); }其他的如法炮制还需要判断ocrLast_name大小是不是大于0,只有大于0时才获取,不然不报错,角标越界if (ocrLast_name.size
前言: 在公司学习了一段时间Android知识,决定做一个小项目,目的是学会运用所学的基础知识,在这里记录一下开发历程,大家可以把它看成一款入门级练手的 Demo 应用吧~ 项目概述: 类型...: 下拉刷新: 上滑加载: 该功能具体实现请参考——ListView实现上拉加载&下拉刷新; 删除新闻: 在新闻列表点击每条新闻中的×号可完成新闻删除。..., values); db.close(); 设置页面: 清空缓存: 因为在加载新闻列表时对新闻图片采取了三级缓存策略(网络,本地文件,内存),所以会产生一定的缓存,...该功能会清理掉所有缓存; 代码实现: // 获取文件 //Context.getExternalFilesDir() --> SDCard/Android/data/你的应用的包名/files...代码实现: 专门创建了一个用户维护所有活动(页面)的工具类,当用户点击退出按钮时实际调用exit方法,结束活动类表中每一个活动,并执行System.exit(0);退出。
我们将以原生Android应用开发为例,展示集成过程。一、前期准备注册API服务选择一个提供天气预报服务的API的平台,并注册获取API密钥。...开发环境搭建安装Android Studio并配置好Android开发环境。创建新项目在Android Studio中创建一个新的Android项目。...二、集成天气预报API这里使用 APISpace 的 天气预报查询API 为例进行演示的~步骤1:添加网络权限在AndroidManifest.xml文件中添加网络访问权限:android:name="android.permission.INTERNET" />步骤2:编写API请求代码创建一个新的Java类,用于发送网络请求并处理响应:public class WeatherApiService...中调用API在你的主Activity中,创建一个按钮,当用户点击时,调用API获取天气信息:public class MainActivity extends AppCompatActivity {
对象,用于实现 json 字符串向 json 对象的转化,其内部调用了 parse() 方法,调用底层的 DefaultJSONParser 解析类进行转化,在转化失败时,抛出异常。...总结 总结一下 fastjson 中三个类的用途和方法: JSONObject:解析Json对象,获取对象中的值,通常是使用类中的get()方法 JSONArray:JSON对象数组,通常是通过迭代器取得其中的...JSONArray本质上还是一个数组,对其进行遍历取得其中的JSONObject,然后再利用JSONObject的get()方法取得其中的值。...可以通过设置多个特性到FastjsonConfig中全局使用,也可以在某个具体的JSON.writeJSONString时作为参数使用。...,将会在转成json时带有反斜杠转移符。