java
王鑫林呀!
一个卑微的打工崽,新时代农民工
展开
-
Android 获取asset下数据
首先在res 下创建asset创建文件夹然后创建一个xxx.json文件。这个方法呢,可以获取死数据展示列表用,也可以用于其他定义功能!然后在class里面写方法。不墨迹直接上代码流程。原创 2022-10-18 10:55:05 · 826 阅读 · 1 评论 -
Android 折叠屏适配(分屏滑动布局发生改变)
Android 折叠屏分屏适配原创 2022-08-31 11:07:21 · 1786 阅读 · 0 评论 -
Android 比较好用的SP工具类 (SharedPreferences)
首先这个不是我写的只是记录一下这个是原作者public class SpUtil { private SharedPreferences preferences; private SharedPreferences.Editor editor; public SpUtil(Context context, String fileName) { preferences = context.getSharedPreferences(fileName, contex转载 2022-02-17 16:15:24 · 1236 阅读 · 0 评论 -
Android 主线程与子线程区分和实践
前言对于学过java或者Android的都知道,在代码中主线程不能进行耗时操作,子线程不能更新UI,比如在自定义view时,想要让View重绘,需要先判断当前线程到底是不是主线程,然后根据判断结果来决定到底是调用 invalidate() 还是 postInvalidate() 方法. 如果当前是主线程,就调用 invalidate()方法;而如果当前是子线程,就调用 postInvalidate() 方法,注意:子线程中不能调用 invalidate() 方法,否则就会报异常,提示我们不能在子线程中更新原创 2022-02-17 15:49:00 · 2941 阅读 · 0 评论 -
Android 动态创建Fragment(可根据服务端下发的title动态创建)
不废话先上代码应该都能看懂1.创建fragment类public class FragmentTest extends Fragment { TextView mTxtNumber; int mPosition; String mTitle = ""; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceSta原创 2021-06-23 11:43:37 · 668 阅读 · 0 评论 -
鸿蒙开发自定义Dialog
首先创建一个BaseDialogpublic class WbBaseDialog extends CommonDialog { /** * 类似Android Dialog的cancelable属性, * true: 支持点击外部或返回键消失。 * false: 则只有手动调用hide才会消失。 */ private boolean cancelable = true; protected boolean hideWithBackPre原创 2021-06-08 15:46:56 · 1240 阅读 · 0 评论 -
鸿蒙开发PageSlider实现页面滑动(防ViewPage)
首先:给大家一个鸿蒙api文档入口https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-ability- overview- 0000000000029852前言:在开发鸿蒙过程中我们会需要实现tab滑动来实现首页,另或者我们需要视频进行上下左右滑动都会需要PageSlider这个控件开始:在布局里面添加<?xml version="1.0" encoding="utf-8"?><D原创 2021-06-07 14:02:46 · 2555 阅读 · 7 评论 -
Android 修改成model依赖
/*apply plugin: 'com.android.library'android { compileSdkVersion 29 buildToolsVersion '29.0.2' defaultConfig { minSdkVersion 19 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRu原创 2021-03-22 10:50:23 · 357 阅读 · 0 评论 -
Android 自定义View 在线验证码
效果/** * 二维码生成图片 */import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import java.util.Random;public class CodeUtils { private static final char[] CHARS = {原创 2021-02-25 11:13:45 · 116 阅读 · 0 评论 -
Android 简单的自定义View 验证码在线随机生成类
先上效果再上代码public class CodeUtils { private static final char[] CHARS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's原创 2021-02-24 17:45:33 · 141 阅读 · 0 评论 -
Android简单的亮度调节工具类
工具代码public class SystemBrightManager { // 判断是否开启了自动亮度调节 public static boolean isAutoBrightness(Activity activity) { boolean autoBrightness = false; ContentResolver contentResolver = activity.getContentResolver(); try { autoBrightness = Settin转载 2021-02-19 11:59:36 · 278 阅读 · 0 评论 -
Android 多图上传后将图片进行九宫格展示
不多说上代码public abstract class NineGridAdapter { protected Context context; protected List list; public NineGridAdapter(Context context, List list) { this.context = context; this.list = list; } public abstract int getCou原创 2020-11-18 11:55:34 · 713 阅读 · 0 评论 -
java 去重
package com.wd.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private原创 2020-11-09 19:30:23 · 143 阅读 · 0 评论 -
Android 单利模式(分类解析)
静态内部类public class Singleton { public Singleton(){} private static class Singlentoninstense{ private static final Singleton INSTANCE=new Singleton(); } public static Singleton getInstance(Context context){ Toast.makeTe原创 2020-11-02 13:45:08 · 387 阅读 · 0 评论 -
Android 通过MediaStore访问媒体信息(可适配AndroidR)
权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" /> <uses-permission android:name="android.p原创 2020-10-28 13:50:09 · 3001 阅读 · 0 评论 -
Android 解决base64 报错无法运行
//这个是base64源码因为在Androidx会出现无base64包或者缺东西的现象实用他就对了/* * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *//* * Copyright 1999-2002,2004 The Apache Software原创 2020-10-21 19:47:12 · 1269 阅读 · 1 评论 -
android studio java代码运行不了
在项目的.ides/gradle.xml里面添加 <option name="delegatedBuild" value="false" />就可以正常运行了原创 2020-10-19 11:37:27 · 526 阅读 · 0 评论 -
Android xutils上传文件
依赖 implementation 'org.xutils:xutils:3.5.0'代码 public void voiceDatas(ViewHold viewHold, ChatMessage chatMessage) { RequestParams params = new RequestParams(Urls); params.setAsJsonContent(true); List<KeyValue> list = ne原创 2020-10-13 14:10:32 · 290 阅读 · 0 评论 -
android 获取众多数据中json值
代码 String extra = chatMessage.getMessage().getContent().getUserInfo().getExtra(); JSONObject jsonObject = null; try { jsonObject = new JSONObject(extra); String sl = (String) jsonObject.get("sl"); list.a原创 2020-10-13 14:02:21 · 408 阅读 · 0 评论 -
Android 随机数工具类
代码public class RandomUntil { /** * 生成一个0 到 count 之间的随机数 * * @param endNum * @return */ public static int getNum(int endNum) { if (endNum > 0) { Random random = new Random(); return random原创 2020-10-13 13:57:41 · 387 阅读 · 0 评论 -
Android 网络请求okhttp简单封装
依赖: implementation 'com.squareup.okhttp3:okhttp:3.12.6'代码:只封装了git方法和post方法和put与delete一样所以就没有封装有需求的可以自己封装package com.example.downloadupdates;import android.os.Handler;import android.os.Message;import java.io.IOException;import okhttp3.Call;i原创 2020-10-13 13:54:50 · 515 阅读 · 0 评论 -
Android 首页实时浮窗(动态设置Margin)以及本人体验inflate的各种坑(方式广播重复绘制)
首先在我们日常开发中会经常遇到给某某页面添加一个实时的浮窗(给你一个开始时间与结束时间,点击叉号第二天再展示),时间判断这里就就不说了以前的博客里面有,那么我们就需要添加一个布局了我的一开始是怎么做的 本人错误1.直接插入布局 如果数据不是实时也无所谓,但是数据是实时的,就会出现一个问题就是,在前后台切换时第二次切换回来广播通知展示但是点击事件会出现无效的现象(本人推测可以能是需要添加一个容器来addview)View inflate = LayoutInflater.from(getActivi.原创 2020-09-24 15:42:02 · 554 阅读 · 0 评论 -
Android 获取当前时间(时间比较是否是今天)
package com.sina.FloatingwindowHelper;import android.annotation.SuppressLint;import android.text.format.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.T原创 2020-09-22 10:53:14 · 1330 阅读 · 0 评论 -
Android 广播状态传递解决冲突
很多时候我们都会遇到不兼容的问题或者数据不能同步更新的问题从而就出现来一个叫bug的东西,使用广播来进行状态值传递,还有一种情况就是这个页面不进行初始化就不能进行数据同步这样数据不同步的话就会出现bug,接下来就是使用广播传值,判断比较这个值进行页面跳转,首先是传递值的页面我们要注意的是虽然不需要在清单文件注册但是需要设置一个action并且接受值与传递的action一定要一致不然会接收不到值正确例子例如:(传递) Intent intent = new Intent(ACTION);//这个是传递原创 2020-09-11 18:51:29 · 354 阅读 · 0 评论 -
Android 切换夜间模式
刚刚突然想弄一个夜间模式所以我开始了首先Android默认是白天模式也就是正常模式的values文件所以,我们要创建一个夜间的文件夹values-night 在里面添加colors.xml注意里面颜色的name需要与正常的values的name一致这样才能自动切换访问(相当于不同分辨绿的mipmap-xhdpi放入多套图一样的道理)这个是正常模式下的colors.xml<?xml version="1.0" encoding="utf-8"?><resources>原创 2020-09-08 11:22:05 · 1425 阅读 · 0 评论 -
Android Service后台下载 广播(Eventbus)通知并展示
因为好多项目都会用到比如后台下载apk,下载图片,音视频,这个时候就需要我们用Service进行后台下载了,首先讲一下我的思路一个简单的service后台图片下载展示,我需要创建一个service并注册注意不要忘记注册 在service里面重写onCreate开启一个工作线程做耗时工作 @Override public void onCreate() { // 开启一个工作线程做耗时工作 HandlerThread thread = newHandlerThrea原创 2020-09-07 13:11:16 · 853 阅读 · 0 评论 -
Android 广播BroadcastReceiver网络WIFI监听是否开启网络是否可以用(广播相互监听)
根据wifi来吐司记录终于合适了前几天遇到这么一个需求就是在看视频的时候会出现关闭wifi的时候,因为视频是一个耗费流量比较大的功能所以需要提醒用户,但是不可能用户每次打开视频的时候都要流量提示这样对于用户不太友好所以每次开启wifi显示一次(当前是流量数据,可能会消耗您的流量),这个时候就需要但是只显示一次下一次还要这就需要sp(SharedPreferences)来记录是否已经吐司过弹出条件就是当Wi-Fi关闭的时候进行监听判断数据是否可用,这就需要两个广播进行相互监听(单独一个有限制)注意的是W原创 2020-09-04 14:38:33 · 733 阅读 · 0 评论 -
Android 监听wifi是否开启
不多说了上代码注意⚠️要添加权限: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />private void initData() { //获取wifi管理服务 wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);原创 2020-09-03 11:23:36 · 1018 阅读 · 0 评论 -
Android 多图上传压缩图片
package util;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Color;import android.media.ExifInterface;import android.net.Uri;import android.os.Environment;import android.t原创 2020-08-31 13:11:08 · 265 阅读 · 0 评论 -
Android 请求网络出现 CLEARTEXT communication to api.tianapi.com not permitted by network security policy
首先感谢 原作者的分享这个是链接今天遇到 CLEARTEXT communication to api.tianapi.com not permitted by network security policy(网络安全策略不允许与(软件)进行明文通信)起因就是我弄了一个接口在一个新建的项目里面跑出现这个问题,一开始我还以为是我的网络请求框架出了问题或者是我的参数出现了问题但是并没有 我很自信的跑了起来但是就是不出现数据,我打印了一下error 的日志,不知道啥意思,然后我就百度了一下,醍醐灌顶可能是 项目原创 2020-08-28 14:32:45 · 2209 阅读 · 0 评论 -
android Listview 浏览位置
我用的是假数据进行的测试这个位置记录是我想起在我上一家工作的时候的一个需求(bug)上代码:bean类上就要上全套public class Base { private int iconId;//对应图片资源id private String title; private String time; public Base(int iconId, String title, String time) { this.iconId = iconId;原创 2020-08-27 11:16:15 · 176 阅读 · 0 评论 -
Android Intent的setClass和setClassName的区别
setClass目的是跳转到与该工程下的(同一个Application中的)activity或者service;而setClassName则是跳转到不同Applicaiton的activity或者service原创 2020-08-26 18:57:36 · 1050 阅读 · 0 评论 -
Android WebView交互带缓存与网络判断
package com.example.casts;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.Bundle;import android.util.Log;import android.view.Key原创 2020-08-26 15:08:52 · 533 阅读 · 0 评论 -
Android 动态广播实现简单的网络判断
先上整体代码public class MainActivity extends AppCompatActivity { private NetworkChangeReceiver networkChangeReceiver; private IntentFilter intentFilter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav原创 2020-08-26 14:31:20 · 374 阅读 · 0 评论 -
java 三目运算符解析
首先 感谢原作者的高质量文章https://www.cnblogs.com/yjd_hycf_space/p/7881345.html一些简单的分支结构可以使用简单的运算符来代替:if(a<b){ min=a;}eles{ min=b}可以用下面的运算符号来处理min=(a<b)?a:b其中(a<b)?a:b 表示a<b为真那么表达式取a的值否则取b的值:条件运算符由“?”和“:”组成,要求有三个操作对象,所以他叫三目运算符他的一般形式为表达式1?表达原创 2020-08-25 11:25:01 · 547 阅读 · 0 评论