Android
OnlyChance_1
这个作者很懒,什么都没留下…
展开
-
Android快速开发系列(2):BaseFragment+ViewBinding+ViewModel封装
应用场景:小项目快速开发、无快速重复加载业务需求、不考虑性能问题。封装思想:通过泛型直接指定ViewBinding、ViewModel的类型,外部暴露initView()、initData()、initViewModelOwner()。/** * @author : ZGS * Created on 2022/5/12 **/public abstract class BaseFragment<V extends ViewBinding, VM extends ViewModel>.原创 2022-05-12 18:05:56 · 1450 阅读 · 0 评论 -
Android 四大组件之Broadcast
发送广播Intent intent = new Intent();intent.putExtra("msg","hello,world!");sendBroadcast(intent);创建广播接收器public class BatteryBroadcastReceiver extend BroadcastReceiver { private Activity activity; public DemoRecceiver(Activity activity) { th原创 2022-05-08 22:20:06 · 512 阅读 · 0 评论 -
Android缓存,删除网络依赖包缓存
Android依赖包缓存目录:C:…gradle\caches\操作步骤1、删除transforms-2文件夹下的依赖包缓存2、删除module-2文件夹下的依赖包缓存测试方法1、先通过implementation加载网络依赖包2、在AndroidStudio中查看External Libraries下是否存在依赖包3、查看缓存目录下是否存在依赖包4、断开网络!!!5、尝试通过本地缓存将依赖包依赖进来:重新同步,依次点击File->Sync Project with Gradle原创 2021-12-16 20:48:10 · 2602 阅读 · 0 评论 -
Android之RecyclerView强制关闭复用
@Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { // 关闭复用 holder.setIsRecyclable(false); }原创 2021-12-05 05:24:20 · 7102 阅读 · 0 评论 -
Android简单使用VideoView+MediaController播放本地视频
在res/目录下创建raw文件夹MediaActivity.javaVideoView videoView = (VideoView)findViewById(R.id.videoView);videoView.setMediaController(new MediaController(this));// 设置视频源播放res/raw中的文件,文件名小写字母,格式: 3gp,mp4等,flv的不一定支持;Uri rawUri = Uri.parse("android.resource://"原创 2022-01-07 22:55:20 · 1075 阅读 · 0 评论 -
Android 手表WearOs 禁止滑动返回、监听滑动事件分发
需求做手表开发时,想要在页面内监听滑动要切换一些状态,结果发现每次滑动都自动返回或退出程序,onTouch监听不到事件。一、禁止手表滑动返回themes.xml:自定义主题<?xml version="1.0" encoding="utf-8"?><resources> <style name="AppTheme" parent="@android:style/Theme.DeviceDefault"> <item name="an原创 2021-12-05 04:11:43 · 1620 阅读 · 0 评论 -
Android相机、相册简单示例
相机静态申请权限+动态申请权限(6.0以上)AndroidManifest.xml配置文件 <uses-permission android:name="android.permission.CAMERA" />拍照流程MainActivity.java-调用相机拍照if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANT原创 2021-12-04 04:30:28 · 369 阅读 · 0 评论 -
Gson之解析列表数据
DataBean.java:数据实体public class DataBean { private String user; private int pass; @Override public String toString() { return "DataBean{" + "user='" + user + '\'' + ", pass=" + pass +原创 2021-12-03 20:39:22 · 2581 阅读 · 0 评论 -
OkHttp之get请求
使用HttpUrl构造get请求参数HttpUrl httpUrl = HttpUrl.parse("http://www.baidu.com").newBuilder() .addPathSegment("login") .addQueryParameter("username","admin") .addQueryParameter("password","123456") .build();Request r = new Reques原创 2021-12-01 22:38:44 · 1841 阅读 · 0 评论 -
OkHttp之常用拦截器
LoggingInterceptor.java:输出日志public class LoggingInterceptor implements Interceptor { private static final String TAG = "LoggingInterceptor"; @NotNull @Override public Response intercept(@NotNull Chain chain) throws IOException { Re原创 2021-12-01 22:04:28 · 1470 阅读 · 0 评论 -
OkHttp之post请求
post传jsonString url = "";OkHttpClient client = new OkHttpClient(); JSONObject jsonObject = new JSONObject();try { jsonObject.put("username","admin"); jsonObject.put("password","123456");} catch (JSONException e) { e.printStackTrace原创 2021-12-01 21:21:33 · 7542 阅读 · 2 评论 -
Mac下的SourceTree的基本使用流程
创建远程仓库在远程托管平台(如github,gitee等),登陆自己的账户,并创建一个仓库(远程仓库角色)创建本地git仓库并克隆仓库所有文件打开SourTree,用远程仓库地址(https地址以.git结尾,ssh以.ssh结尾)克隆到本地一个空文件夹中!这一步git就会自动在本地文件夹中创建一个本地git仓库,一般以.git文件夹的形式存在。添加文件并commit到本地git仓库,push到远程仓库在本地文件夹中随便添加一个文件test.txt,然后commit到本地git仓库中,然后pus原创 2021-11-26 22:38:19 · 3327 阅读 · 0 评论 -
Mac版SourceTree一旦push时输入的用户名密码错误,重新push就不再弹出用户名密码输入框问题
解决方法:删除原有账号记录步骤1:SourceTree->偏好设置(Preference)步骤2:高级->选中需要删除的账户信息->点击【移除】步骤3:重新push,弹出用户名和密码输出框????!原创 2021-11-26 22:14:29 · 1787 阅读 · 0 评论 -
Android蓝牙开发(1):发现设备失败,startDiscovery()返回结果为false
原因:需要配置相关权限,并且位置权限需要进行动态申请Android官方蓝牙指南https://developer.android.google.cn/guide/topics/connectivity/bluetooth#SettingUp配置权限:AndroidManifest.xml <uses-permission android:name="android.permission.INTERNET" /> <!-- 蓝牙权限 --> <use原创 2021-11-21 22:21:09 · 4143 阅读 · 0 评论 -
Android自定义控件系列(1):选项控件
一、控件效果展示二、控件类:OptionsItemView.java/** * 选项Item * * @author : ZGS * Created on 2021/11/16 **/public class OptionItemView extends ConstraintLayout { private TextView tvLeft; private TextView tvRight; private ImageView ivRight; priva原创 2021-11-17 00:13:36 · 1364 阅读 · 0 评论 -
QMUI系列(1):引入、设置主题、基本使用
文章目录1.QMUI——Github引入依赖设置主题基本使用(以弹窗QMUIPopups为例)效果Java代码simple_list_item.xmlAndroidManifest.xml1.QMUI——GithubGithub:https://github.com/Tencent/QMUI_Androidqmuidemo地址:https://github.com/Tencent/QMUI_Android/tree/master/qmuidemo引入依赖implementation ‘com.qm原创 2021-10-10 17:19:31 · 5630 阅读 · 0 评论 -
com.gongwen:marqueelibrary设置垂直滚动
com.gongwen:marqueelibrary设置垂直滚动1.引入依赖2.添加混合库3.布局xml4.Java代码1.引入依赖implementation ‘com.gongwen:marqueelibrary:1.1.3’2.添加混合库在 gradle.properties 添加 android.enableJetifier=true3.布局xml <!--设置垂直:不要添加inAnimation和outAnimation即可!--> <c原创 2021-10-10 00:49:44 · 480 阅读 · 0 评论