android
文章平均质量分 77
大不懂
想成功先发疯,不顾一切向钱冲;拼一次富三代,拼命才能不失败;今天睡地板,明天当老板
展开
-
Android和Unity互调
1.工具AndroidStudio: Android Gradle Plugin Version 3.5.2 Gradle Version 5.4.1Unity 3D: 2018.4.30f12.流程 见下图2.1 android 加载unity包2.2 android 点击原生按钮调用unity方法,更新UnityUI/** * // objectName: Unity 对象的名称 * // methodN...原创 2021-07-02 15:00:21 · 2966 阅读 · 9 评论 -
Plugin “GsonFormat“ is incompatible
升级androidstudio到4.2版本后突然报错,如下: Plugin Error Plugin "GsonFormat" is incompatible (supported only in IntelliJ IDEA). Plugin "Android Parcelable code generator" is incompatible (supported only in IntelliJ IDEA).原因是现在已经不再支持了,但是我们可以使...原创 2020-12-15 09:35:25 · 1309 阅读 · 0 评论 -
SwipeRefreshLayout
SwipeRefreshLayout是用于实现下拉刷新的核心类,使用很简单只需要使用SwipeRefreshLayout将Recyclerview包裹一下就行。使用:xml:<androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/srl" android:layout_width="match_parent" android:layout_height="match_par原创 2020-08-22 14:34:44 · 1794 阅读 · 2 评论 -
CMake Warning
CMake Warning at H:/SDK/ndk/16.1.4479499/build/cmake/android.toolchain.cmake:243 (message):armeabi is deprecated and will be removed in a future NDK release.Call Stack (most recent call first):H:/SDK/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDe原创 2020-08-10 14:54:58 · 956 阅读 · 2 评论 -
Android MaterialDesign简单使用_DrawerLayout
2014年Googel I/O大会上重磅推出了一套全新的界面设计语言MaterialDesign。因为设计人员也不了解这个东西,开发人员实现起来也很费劲,几乎没有一个可以用的API,都需要自己实现所以普及程度比较低。 而google也意识到了这一问题,于是2015年的Google I/O大会上推出了一个Design Support库,这个库将一些具有代表性的一些控件和效果进行了封装,这样就大大的简化了实现难度。 DrawerLayout是MaterialDesign推...原创 2020-08-09 17:40:52 · 596 阅读 · 2 评论 -
AsyncTask的简单实用
1.基本描述1.1.AsyncTask是Android提供的轻量级( 实现代码量少) 的异步类。1.2.为了降低异步通信的开发难度,提供了AsyncTask。1.3.AsyncTask直接继承于0bject类,位于android.os包中。1.4.使用AsyncTask可以忽略Looper、MessageQueue、Handler等复杂对象,更便捷的完成异步耗时操作。2.简单使用:2.1.extends AsyncTask<Params, Progress, Result>.原创 2020-07-16 22:19:36 · 246 阅读 · 2 评论 -
android中的线程使用
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6357)原创 2020-07-15 23:31:25 · 549 阅读 · 2 评论 -
解决Listview更新IllegalStateException异常
当我们在使用listview时,数据在跟新的时候频繁滑动容易造成此异常,java.lang.IllegalStateException:。非法状态异常。报以下错误。java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not mo...原创 2020-07-15 17:43:06 · 527 阅读 · 2 评论 -
OkHttp的基本使用
OkHttp是由Square公司开发的。地址:https://github.com/square/okhttp引入项目:dependencies {implementation("com.squareup.okhttp3:okhttp:4.8.0")}获取数据: private void sengRequestWithOkHttp(final String s) { new Thread(new Runnable() { ...原创 2020-07-12 23:42:17 · 1329 阅读 · 2 评论 -
HttpURLConnection
在Android上发送HTTP请求一般有两种一种是HttpURLConnection,另一种是HttpClinet,由于httpClient存在API数量过多,扩展困难等缺点,不建议使用,并且在Android6.0系统中被移除。 以下是介绍HttpURLConnection的使用方法。private void sendRequestWithHttp() { new Thread(new Runnable() { @Overrid...原创 2020-07-12 23:17:36 · 286 阅读 · 2 评论 -
WebView的基本使用
WebView是一android的View类的扩展类,可将网页显示为 Activity 布局的一部分。它不会包含功能全面的网络浏览器的任何功能,例如导航控件或地址栏。WebView默认只显示网页。 基本用法:xml:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schem...原创 2020-07-12 22:58:32 · 288 阅读 · 2 评论 -
Android 播放视频
视屏播放主要使用VideoView来实现。他将视屏的显示和控制集一身,使用它可以做一个简单的视频播放器。File file = new File(Environment.getExternalStorageDirectory(), path);videoView.setVideoPath(file.getPath()); // 指定视频文件的路径videoView.start(); // 开始播放videoView.pause(); // 暂停播放videoVi...原创 2020-06-30 23:48:55 · 682 阅读 · 3 评论 -
Android音频播放
在Android中播放音频文件一般使用MediaPlayer类来实现,他对多种格式的音频文件提供了非常全面的控制方法,从而使得播放器变得十分简单。File file = new File(Environment.getExternalStorageDirectory(), "456.mp3");mediaPlayer.setDataSource(file.getPath()); // 指定音频文件的路径mediaPlayer.prepare(); // 让MediaPlaye...原创 2020-06-30 23:36:08 · 2809 阅读 · 7 评论 -
通知Notification的基本使用
1.介绍 通知是android系统中比较有特色的功能之一,当某个应用程序希望向用户发出一些提示信息的时候,而应用程序又不在前台运行,可以借助通知来实现。发出一条通知后手机通知栏会显示一条通知消息。 通知可以在活动、广播、服务里创建。虽然通知在活动里创建比较少,但是为了演示方便还是选择了在活动里创建。2.举例2.1 发送通知点击发送通知。NotificationManager manager = (NotificationMana...原创 2020-06-30 22:33:48 · 1447 阅读 · 2 评论 -
Android数据存储_LitePal
LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发时最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包只有100k不到,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上,地址是https://github.com/LitePalFramework/LitePal。...原创 2020-06-15 21:51:32 · 588 阅读 · 2 评论 -
Android数据存储_SQLite数据库存储
Android数据存储的方式有种,主要有三种。分别为:文件存储,SharedPreference存储,以及数据库存储。原创 2020-06-11 22:06:25 · 820 阅读 · 2 评论 -
Android数据存储_SharedPreference存储
Android数据存储的方式有种,主要有三种。分别为:文件存储,SharedPreference存储,以及数据库存储。这篇主要讲SharedPreference存储。1.基本据介绍SharedPreference是使用键值对来存储的。当保存数的时候需要提供一个对应的建,装在读取的时候就可以把对应的值取处来了。同时还支持多种不同的数据类型存储,如果存储的数据类型是整型,那么取出来的也是整型。Android中一共提供了3中方法用于得到SharedPreference对象。1.1、Contex原创 2020-06-10 18:00:54 · 767 阅读 · 2 评论 -
Android数据存储_文件存储
Android数据存储的方式有种,主要有三种...原创 2020-06-10 11:14:53 · 879 阅读 · 3 评论 -
android广播机制(三)
使用广播一键下线原创 2020-06-08 19:25:17 · 334 阅读 · 2 评论 -
android广播机制(二)
上篇已经介绍过了广播的基本内容,这里介绍自定义广播。发送标准广播发送有序广播原创 2020-06-05 16:53:18 · 339 阅读 · 2 评论 -
Fragment基本描述(四)
Fragment基本描述 使用fragment完成一个简单的新闻客户端原创 2020-05-31 16:52:10 · 986 阅读 · 2 评论 -
Fragment基本描述(三)
Fragment基本描述(三) fragment的生命周期原创 2020-05-31 12:06:23 · 376 阅读 · 2 评论 -
Fragment基本描述(二)
Fragment基本描述 动态加载原创 2020-05-29 15:16:11 · 232 阅读 · 2 评论 -
Fragment基本描述(一)
Fragment的基本描述,基本使用原创 2020-05-29 09:14:06 · 469 阅读 · 2 评论 -
Android Intent的使用
Intent 是一个消息传递对象,可以用来从其他应用组件请求操作。其中主要有三种,1.启动Activity;2.启动服务;3.传递广播。Intent有显示和隐示之分原创 2020-05-07 15:45:56 · 1154 阅读 · 9 评论 -
Android序列化
你真的会使用android序列化吗?目录1.Serializable接口。User类序列化反序列化完整代码:布局自动检测serialVersionUID结果:2.parcelable自动生成Parcelable相关代码3.Parcelable和Serializable的优缺点1.Serializable接口。Serializable接口...原创 2019-11-07 17:42:57 · 424 阅读 · 2 评论 -
android修改包名、生成签名文件、Android Studio获取开发版SHA1值和发布版SHA1值
不常用。但是每次用的时候都要百度,所以自己记录一下。仅供参考。一。修改包名1.修改自己文件的包名。如果没有完全打开包结构,把包全部展开。 然后点击要修改的包名右键Refactor->Rename或者shift+F6然后选择 Rename package修改好包名。选择refactor然后选择Do Refactor2 .查看清单文件的包名 这...原创 2018-11-22 10:52:11 · 1749 阅读 · 2 评论 -
获取缓存数据,并清理
获取缓存数据并清除缓存数据/** * 获取缓存大小 */public static String getCacheSize(Context context) throws Exception { long cacheSize = getFolderSize(context.getCacheDir()); if (Environment.getExternalStor原创 2017-03-24 14:55:02 · 465 阅读 · 2 评论 -
Activity的工作过程
首先感谢《Android开发艺术探索》然后感谢http://sigechuizi.cn/article/47基于android8.0 源码解析Activity是android的四大组件之一,主要用于向用户展示一个界面,并可以接收用户的输入信息进行交互。因为系统对其做了很好的封装,所以我们在使用的时候简单了很多。导致我们很少注意他的内部实现流程,今天通过阅读源码的方式来认识一下acti...原创 2019-03-26 11:23:28 · 744 阅读 · 2 评论 -
androidStudio升级以及遇到的问题
目前使用的版本3.0.1升级的版本3.4.1一、升级流程1.选择File > Settings菜单2.选择左侧的Appearance & Behavior > System Settings > Updates菜单3.选择需要更新的android studio版本,各版本介绍如下: Stable Channel(稳定版) Beta Channe...原创 2019-06-18 10:58:54 · 1940 阅读 · 2 评论 -
JNI入门
基于Androidstudio 学习JNI。 最近项目需要,遂开始学习JNI。什么是JNI?java native interface(java本地接口),通过使用java本地接口去调用C代码,用C代码去控制Android中的java实现和界面显示为什么使用JNI?复用很多优秀的c/c++代码 - ffmpeg 多媒体播放器 - opencv 图形识别引...原创 2019-07-04 22:59:56 · 287 阅读 · 2 评论 -
通讯录列表
因为项目需求通讯录样式的列表1.带有模糊搜索2.带有字母索引 思路:首先是定义一个右侧的导航条母,然后是显示字母的list view 最后添加搜索内容定义一个右侧导航条目/** * Created by wjs on 2017/11/7. * 右侧的导航栏原创 2017-11-08 17:34:35 · 1021 阅读 · 2 评论 -
问题汇总
开发过程中遇到的问题记录。1.Error:Execution failed for task ':comparablelist:processDebugAndroidTestResources'.> No slave process to process jobs, aborting解决方案A:重启studio 直接点击 File>Invalidate Caches...原创 2018-09-17 13:15:51 · 240 阅读 · 2 评论 -
高德地图SDK 总结记录
项目中用的高德地图SDK以前也用过不过没有这么多功能。现在开始整理记录一下,帮助自己也帮助他人。1.展示所有的marker在屏幕上 //创建一个 经纬度坐标矩形区域的生成器。 LatLngBounds.Builder boundsBuilder = new LatLngBounds.Builder(); //将经纬度转换成LatLng 并存入矩形区域 LatLng latlng =...原创 2018-09-06 16:46:06 · 678 阅读 · 1 评论 -
给图片添加蒙版
viewHolder.ivImg.setAlpha(192);//25%viewHolder.ivImg.setColorFilter(R.color.colorBlack);192为透明度 参数范围0-255 数值越小越透明原创 2017-04-24 16:21:37 · 1575 阅读 · 2 评论 -
textview下划线
textview.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);原创 2017-04-18 16:42:18 · 333 阅读 · 2 评论 -
图片64位加密
项目需要图片的64位加密主要是这个代码:byte[] encode = Base64.encode(bytes, Base64.DEFAULT);全部:/** * 图片64位加密 相册 * * @param data */private void encode(Intent data) { Bitmap bitmap = null; try {原创 2017-04-10 15:45:14 · 900 阅读 · 2 评论 -
Picasso设置圆形图片
Picasso在使用的过程中获得原型图片Picasso .with(getContext()) .load(Bean.getList().get(position).getAvatar()) .transform(new CircleTransform())//设置圆形图片 .into(viewHolder.ivAvata原创 2017-04-10 15:34:24 · 709 阅读 · 2 评论 -
轮播图
因为需求原因没能找到一个合适的轮播图的插件。最后只能是自己谢了。1首先是自己定义了一个viewpager 因为外层还有viewpager所以需要判断/** * 轮播ViewPager */public class TopNewsViewPager extends ViewPager { private int startX; private int startY;原创 2017-04-01 16:19:11 · 411 阅读 · 2 评论 -
退出登录并finish所有的activity
退出登录处理把token信息清理掉还需要把activity finish掉。方法有很多种我采取的是把所有activity放在集合里面统一处理创建一个baseactivity 所有的activity都继承他/** * Created by wjs on 2017/3/24. */public class BaseActivity extends Activity { @Ov原创 2017-03-24 15:01:27 · 1340 阅读 · 2 评论