
Android
文章平均质量分 50
1、Android基础
张三也爱问为什么
人生只要努力,最差的结果不过是大器晚成。
不要着急,静心耐心的去过好生活的每一天。人生说长不长,说短不短,能在历史上留下浓厚一笔的,绝对不是浮躁之辈。
展开
-
RxJava简单使用及代码
概述RxJava 是一个 基于事件流、实现异步操作的库类似于 Android中的Handler作用“四剑客”被观察者(Observable) 产生事件观察者(Observer) 接收事件并响应订阅(Subscribe) 关联 被观察者 和 观察者事件(Event) 被观察者 和 观察者 交互的载体模型“被观察者”通过“订阅”按顺序发送“事件”给“观察者”,“观察者”按顺序接收“事件”作出响应。用法(代码)一、依赖imp原创 2022-02-25 15:14:03 · 2490 阅读 · 0 评论 -
OkHttp多个特性以及代码示例
文章包含:OkHttp同步或者异步、OkHttp获取响应的头部信息、OkHttp提交一个markdown文档到web服务,以HTML方式渲染markdown、OkHttp以流的方式POST提交请求体、OkHttp提交文件照片、OkHttp使用Gson队JSON和Java对象转化、OkHttp配置缓存、OkHttp配置超时(OkHttp支持连接,读取和写入超时)、OkHttp取消请求、OkHttp单独配置单个请求、OkHttp触发401后、OkHttp拦截器、OkHttp证书原创 2022-02-24 17:36:38 · 3358 阅读 · 1 评论 -
OkHttp的简单使用代码示例
OkHttp简单使用、代码示例原创 2022-02-23 16:22:19 · 813 阅读 · 0 评论 -
代码:查看某个service是否在运行
参数className需要service的完整路径。代码:public static boolean isServiceRunning(Context context, String className) { boolean isRunning = false; ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); // 这里的30代表返原创 2021-09-14 15:42:08 · 204 阅读 · 0 评论 -
变量在debug/release版本的不同体现,通过gradle文件
项目的build.gradle:android { ... buildTypes { debug { buildConfigField("boolean", "IS_TIME", "true") } release { buildConfigField("boolean", "IS_TIME", "false") } }}java文件中使用的时候:boolean isTime = BuildConfig.IS_TIME;注意:如果切换debug/release原创 2021-09-13 17:01:38 · 252 阅读 · 0 评论 -
LayoutInflater解析
LayoutInflater技术广泛应用于需要动态添加View。使用代码:@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mainLayout = (LinearLayout) findViewById(R.id.main_layout); LayoutInflater原创 2021-09-09 18:04:45 · 214 阅读 · 0 评论 -
setContentView将xml和java结合在一起流程
三个核心类:Activity:调用setContentViewWindow:产生视图的抽象类【实际生效类:PhoneWindow】View:视图的抽象类【实际生效类:DecorView】流程:Activity调用setContentView,实际调用到PhoneWindow的对应方法;PhoneWindow做了三件事:1、生成一个DecorView;2、生成一个ViewGroup包装DecorView;3、通过LayoutInflater.inflate把layout_id的xml和Vie原创 2021-09-07 17:46:56 · 171 阅读 · 0 评论 -
volley详解以及用法
1、如何发送请求;<1>.volley的三大组件:应用创建Request并add到RequestQueue,RequestQueue处理并响应给Volley,Volley处理告知应用。–RequestQueue【管道 】:管理网络操作、缓存响应、解析响应的处理线程;–Request【请求】:解析原始响应;–Volley【调度】:将已解析的响应调度回主线程。附一个流程图解:<2>.Volley的核心作用:Volley将已解析的响应调度回主线程,这样才能随意修改界面控件原创 2021-09-03 15:35:39 · 738 阅读 · 0 评论 -
代码:动画抖动效果
利用Animation的子类TranslateAnimationAnimation animation = new TranslateAnimation(0, 0, 0, 3); // 四个参数依次代表X轴从0抖动到0,Y轴从0抖动到3animation.setInterpolator(new CycleInterpolator(3)); // 抖动3次animation.setRepeatCount(0); // 重复上面0次animation.setDuration(300); // 动画持续时原创 2021-09-02 16:29:34 · 203 阅读 · 0 评论 -
代码:修改系统时间
需要系统UIDAndroidManifest中:系统UID:android:sharedUserId="android.uid.system"修改系统时间的权限:<uses-permission android:name="android.permission.SET_TIME" />类中:private void setSysTime(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); c.add原创 2021-08-27 09:57:38 · 537 阅读 · 0 评论 -
蓝牙连接之无需配对的低速传输数据方式
基于UUID去建立一条低速的无需配对的蓝牙通道一、原理蓝牙是一种使用无线电通信的技术完成设备与设备间通讯与数据交换。UUID是什么:不同的服务用不同的UUID区分。服务是什么:能提供的功能。UUID的详细解释:俩中国人用汉语交流,汉语就是俩中国人的UUID,交流就是服务。蓝牙技术联盟SIG定义UUID共用了一个基本的UUID:0x0000xxxx-0000-1000-8000-00805F9B34FB。总共128位,为了进一步简化基本UUID,每一个蓝牙技术联盟定义的属性有一个唯一的16位UUID原创 2021-05-25 22:36:14 · 2869 阅读 · 2 评论 -
as连接逍遥模拟器指令
点开as下方的Terminal输入adb connect 127.0.0.1:21503原创 2020-03-26 15:41:54 · 1437 阅读 · 0 评论 -
AndroidStudio中运行单独的类或者方法
简单来说就是用test打开src/main下的test,找到ExampleUnitTest类或者自己新建一个类。在里面写你的测试方法注意这个方法一定要加注解@Test这个注解导入:import org.junit.Test;比如下面这个@Testpublic void test(){ System.out.println("哈哈哈");}然后鼠标右键这个方法会有DeBug 'test()'这个选项点一下 就能运行。注意:如果你的主程序有飘红,会被你报错,并不是完全隔离运行的原创 2020-06-06 11:13:40 · 2853 阅读 · 0 评论 -
模拟器访问本地电脑的端口
模拟器不能用localhost访问本机端口,因为那样访问的是模拟器本机的端口。比如你输入127.0.0.1:8080访问的是模拟器的8080正确的访问应该是:10.0.2.2:8080原创 2020-06-22 15:02:18 · 1438 阅读 · 0 评论 -
安卓webView报ERR_CACHE_MISS错误和ERR_CONNECTION_REFUSED错误及解决
ERR_CACHE_MISS:原因:没有权限在AndroidManifest.xml文件加入:<uses-permission android:name="android.permission.INTERNET">ERR_CONNECTION_REFUSED原因:找不到地址http的访问实际上是这样的格式ip地址:端口号你的上面任何出现错误都会报这个错误举例,你用模拟器,输入127.0.0.1:8080并不会访问本机的8080,而是访问了模拟器的8080,所以报这个错误,原创 2020-06-22 16:00:24 · 5026 阅读 · 0 评论 -
【Android-基础】Android的Service和IntentService,在何时用哪种以及怎么使用IntentService
Android的Service和IntentService这是两个service,区别在于,IntentService能够自己开子线程执行任务,并且执行完自动销毁service,而Service不能自动开子线程,直接在里面处理任务,如果恰好是耗时任务,可能发生ANR,同时销毁service需要调用stopService才可以。那么IntentService怎么定义呢?MyService2.java:public class MyService2 extends IntentService {原创 2020-07-08 20:00:40 · 393 阅读 · 0 评论 -
【Android-基础】Android的handler基本使用以及做一个简单进度条和轮播图以及子线程中用handler
一、Handler的简单使用:TestActivity.java: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); } private void init() { handler.sendEmptyMessage(111); } Handler ha原创 2020-07-08 20:04:53 · 963 阅读 · 0 评论 -
【Android-基础】使用安卓sdk自带的sqlite3用命令行管理sqlite文件
方式一:用cmd打开:1、找到sdk的目录2、打开cmd3、打开sdk目录下的platform_tools文件夹4、该文件下有adb.exe文件,这个就是我们用的东西5、既然是adb.exe那么此时电脑必须启动一个模拟器6、打开cmd7、用cmd的cd命令,将位置跳转到platform_tools文件夹下8、输入adb shell9、进入shell后,输入sqlite3即可进入方式二:直接打开:1、找到platform_tools文件夹2、双击打开该文件下sqlite3.exe即可。原创 2020-07-09 23:13:10 · 595 阅读 · 0 评论 -
【Android-基础】事件处理方式,Android的监听以及Android的回调
android中的事件处理有两种:基于监听的、基于回调的。基于监听的:为UI组件绑定事件监听器事件监听器绑定到事件源(UI组件)–>外部动作–>事件源(UI组件)–>事件–>事件监听器处理根据上面的流程,可以分离出三个对象:事件监听器、事件源、事件关于“基于监听的”举个简单的例子就是:按钮的点击事件监听基于回调的:方式就是重写:比如重写android组件的回调方法比如重写activity的回调方法举例:public class TestActivity e原创 2020-07-10 21:46:11 · 580 阅读 · 0 评论 -
【Android-基础】动画代码,做一些简单的动画
android绘制界面需要画笔Paint和画布Canvas一、绘制简单的矩形:1、步骤:①自定义类继承View,重写onDraw方法②在onDraw中利用paint以及onDraw的参数canvas绘制③在acitivity中渲染2、代码:自定义类继承View的HuaJuXing.java:public class HuaJuXing extends View { public HuaJuXing(Context context) { super(context);原创 2020-07-11 13:14:31 · 855 阅读 · 0 评论 -
【Android-基础】的目录(仅作用于页面跳转)
本文仅作为【Android-基础】的目录,方便您迅速找到需要的文章。(持续更新)一、数据存取4种方式:sp、文件存取、sqlite、contentProvide二、动画代码,做一些简单的动画原创 2020-09-02 23:09:20 · 216 阅读 · 0 评论 -
【Android-基础】数据存取4种方式:sp、文件存取、sqlite、contentProvide
安卓的四种存储数据的方式为:1、SharedPreferences2、文件存储(内部+外部):通过IO流读取文件3、Sqlite4、跨应用数据共享ContentProvide一、SharedPreferences:最简单的会将数据以xml文件的形式存储存储步骤:①取出SharedPreferences:方式1:getSharedPreferences(文件名,权限);方式2:getPreferences(权限);前者适合多个SharedPreferences文件,后者如果程序只有一个S原创 2020-07-09 23:16:34 · 1395 阅读 · 0 评论 -
【Android-业务】业务之让APP在有网无网情况下都能运行
离线在线策略,简单解释一下就是一个业务,在有网情况下,能实现,在无网情况下,也能实现。首先能想到的就是用户主动同步数据,比如用户主动向数据库同步数据,然后本地数据库相当于一份网上数据库的备份,然后切换到无网环境,用户操作完业务,再到有网环境,主动同步一下,这样就能实现离线的操作,回到网上数据库。这样的具体实现我们先不讨论,后期做,咱先做怎么让一个业务能有两种实现,然后根据实际情况,让系统自己决定走哪个实现。相当于一个接口,两种实现,根据需求不同,选择需要的实现。这样的话,写一个接口类,然后在情况选择原创 2020-07-26 19:58:08 · 676 阅读 · 0 评论