- 博客(16)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
转载 【Android】Android Studio 光标位置不在行首,而是跟随鼠标点击位置 问题解决
原文链接:https://blog.csdn.net/djzhao627/article/details/79189837问题描述AndroidStudio中光标的位置不是点击每行之后出现在每一行的行首,而是停留在鼠标点击的位置,如下(光标停留位置前方并没有空格):解决(1)开启了竖行选择模式关闭该模式即可解决问题。组合键 Shift + Alt + Insert 开启竖行选择,再次输入此组合键即可解决问题。(2)开启了 Allow placement of caret after end
2021-03-26 18:16:05 685
原创 【Android】Retrofit的深度、高质量学习
1 Retrofit数据解析器、url、网络请求适配器等参考:链接:https://www.jianshu.com/p/d9ffdf3b04c3Retrofit是RESTful的HTTP网络请求框架的封装。网络请求的工作本质上是okHttp完成的,而retrofit仅负责网络请求接口的封装。使用步骤1.创建描述网络请求的接口在内部通过注解描述网络请求的参数和配置网络请求参数。public interface retrofit_interface { @GET("部分URL"
2021-03-21 19:37:20 218
原创 【Android】OkHttp深度、高质量学习
参考:https://www.jianshu.com/p/6e497d84a7df1 OkHttp同步请求:RealCall、拦截器、dispatcher调度器okhttp是Square公司开源的轻量级网络请求框架。OkHttp如何进行同步的get请求 public String url = "https://github.com/square/okhttp"; public String OkHttpGet() throws Exception {1. 首先,会生成一个OkHttpC
2021-03-21 15:02:50 224
原创 【Android】AsyncTask的深度、高质量学习
一句话概括AsyncTask的作用:AsyncTask可以在后台任务执行完毕后,根据返回的接口,通知主线程更新UI。AsyncTask实质:是对 Handler + 线程池 的封装Handler:在子线程中发送消息,交给主线程,让主线程更新UI线程池:避免不必要的创建和销毁线程的开销(维护固定数量的线程,让线程池中的线程轮询执行任务)AsyncTask使用onPreExecute() 运行在UI线程中,在调用doInBackground()之前执行doInBackground() 是后台运行
2021-03-21 12:58:05 158 1
原创 【Android】Handler的深度、高质量学习:四大组件和运作机制
Handlerhandler是Android SDK提供给开发者方便进行异步消息处理的类AsyncTask、retrofit用到HandlerHandler的四大组件Message 接收和处理消息的对象Looper 线程持有,读取消息队列MessageQueue中的消息Message,交给Handler去处理MessageQueue 消息队列,先进先出。在Looper的构造方法中,会创建MessageQueue对象Handler 两个作用:1发送消息,2处理消息。程序通过Handler发
2021-03-20 14:41:53 379
原创 【Android】WebView安全漏洞问题
参考:https://blog.csdn.net/carson_ho/article/details/64904635https://blog.csdn.net/qq_42014702/article/details/100899046https://blog.csdn.net/feather_wch/article/details/82292061webview常见的坑(任意命令执行漏洞)API <= 16时,WebView.addJavascriptInterface()有安全
2021-03-18 22:28:26 447 1
原创 【Android】广播的深度、高质量学习:静态注册&动态注册 使用、特点、应用场景
自定义一个广播接收器继承BroadcastReceiver基类;复写抽象方法onReceive,这个方法中可以写接收到广播后所做的逻辑,因为只要接收到广播,会自动调用这个方法。静态注册在AndroidManifest.xml文件中完成声明:接收者的名称:".broadcast.MyBroadcastReceiver"<receiver android:name=".broadcast.MyBroadcastReceiver"> //用于接收网络状态改变时发出的广播
2021-03-18 22:03:45 333 1
原创 【Android】Service深度、高质量学习
0 Service先导:线程、IntentService、Binder等service和线程的区别和场景线程是程序执行的最小单元,分配CPU的最小单位;Android中,线程分为主线程和工作线程;主线程主要负责UI界面的绘制和时间响应操作,为了保证应用的响应能力,一般不在主线程做耗时操作;service是四大组件之一,运行在主线程中。如何管理service生命周期不管用什么方法启动service,都会调用onCreate(),onDestroy()方法service和IntentS
2021-03-18 20:57:59 216 2
原创 【Android】layout_gravity和gravity的区别
gravity:指的是文字在控件中的对齐方式。或者子view在父view的对齐方式(在父view中设置)。layout_gravity:是LineaLayout的属性,是用于指定控件在布局中的对齐方式。当LineaLayout的排列方式是horizontal时,只有在垂直方向上的对齐方式才会生效,因为此时水平方向的长度是不固定的,每添加一个控件,水平方向上的长度都会改变,因而无法指定该方向上的对齐方式。同样的道理,当LineaLayout的排列方式为vertical时,只有水平方向上的对齐方式才会生
2021-03-17 10:23:22 222
原创 【Java】获取系统时间
/** * 获取当前时间 * @return */public static String getCurrentTime() { @SuppressLint("SimpleDateFormat") SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sDateFormat.format(new Date());}...
2021-03-15 08:53:53 84
原创 【Android】Activity深度、高质量学习
1 生命周期LifeCycleActivity任务栈4种形态Active:栈顶,可见,能和用户交互;Paused:被新的/非全屏的Activity挡住时,失去焦点;可见,但不可交互;所有数据都在,正常情况下不会被系统回收,只有在系统内存不足的时候才被回收;Stopped:完全被覆盖,不可见;所有数据都在,在内存足够的时候数据都是被保存着的,在系统内存不足的时候才被回收(同Paused);Killed:系统回收掉。总结1:Activity是与用户交互的接口(提供一个让用户完成相关操作的
2021-03-13 15:46:00 193 1
原创 【Android】文件读写,读取和写入TXT文件
先申请权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />看文件是否存在,如果存在,啥也不干;如果不存在,将字符串数据写入到指定文件。/*** 如果找不到文件,将数据写入到指定文件 */void writeTxtFreq() { // 查找文件是否存在 String freqListTxTPath = Environment.getExternalStorage
2021-03-12 20:08:16 6941 2
原创 【Android】Handler定时器,每隔5s执行一次
Handler定时器,每隔5s执行一次task任务,task任务在主线程中执行①/*** 任务*/private Runnable task = new Runnable() { @Override public void run() { // 此处执行任务 此处即使界面返回也会一直后台运行 Log.i("djtest", "run: 该条打印信息仅测试锁屏情况下是否会执行task内容"); // 每5s重复一次 handler
2021-03-05 14:02:30 3010
原创 【Android】判断手机的网络是否联通
1 获取权限 <!--获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>2 工具类public class TestNetwork { private static final String TAG = "TestNetwork"; /** * Unknown network class
2021-03-05 10:21:13 570 1
原创 【Android】在Java代码中获取strings.xml中的字符串
Toast.makeText(this, R.string.state_connected, Toast.LENGTH_SHORT).show();Toast.makeText(getApplicationContext(), getResources().getString(R.string.state_connected) + mConnectedDeviceName, Toast.LENGTH_SHORT).show();
2021-03-05 10:17:16 1571 1
原创 【Android】权限申请
在AndroidMenifest.xml中申请权限如下:<!-- 调用手机震动权限 --><uses-permission android:name="android.permission.VIBRATE" /><!-- 保持屏幕常亮 --><uses-permission android:name="android.permission.WAKE_LOCK" /><!--用于进行网络定位--><uses-permission a
2021-03-05 09:44:40 1079 2
rxpermission.aar
2021-03-05
订阅了您的专栏,问题:获取到NV21格式的frame后如何转成byte[]数组。
2021-07-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人