![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
奥破1104x
11
展开
-
【kotlin】let with run apply also
新学kotlin,记录一些函数的例子,直接上具体使用,看demo就好。转自:文章目录letwithrunapplyalsoletkotlin、java代码对比: //kotlin fun main(args: Array<String>) { val result = "testLet".let { println(it.length) ...原创 2020-03-24 15:21:59 · 905 阅读 · 0 评论 -
Flutter学习(一) 状态管理
在flutter中有个新概念:BLOC它是一种利用reactive programming方式构建应用的方法,这是一个由流构成的完全异步的世界。先解释一下什么是流流:即Stream,用现实生活的例子就是一个带有两端的管道,只有一个允许在其中插入一些东西。当你将某物插入管道时,它会在管道内流动并从另一端流出。其实它是为处理异步事件而生的。这个大机器就是StreamController,...原创 2019-12-21 16:30:26 · 254 阅读 · 0 评论 -
手机通过局域网访问pc
最近写Android,将数据库放到本地服务器,同时真机调试,就需要使真机通过局域网访问pc并获取数据。确保手机和pc处于同一个局域网中,关闭电脑的网络防火墙并配置Apache,这里赋一个网址http://blog.sina.com.cn/s/blog_90309ae10102wzsk.html...原创 2019-02-08 16:08:52 · 1899 阅读 · 0 评论 -
安卓 抓取apk端log
最近在做一个项目,在android studio里面跑起来一切ok,可是当打包成apk,安装在真机及虚拟机时都闪退,网上的方法都不好用,不得以抓取了apk端的log来看看。这里主要记录一些坑,详细的参考https://blog.csdn.net/zouxiongqqq/article/details/514221051、‘adb’不是内部或外部的命令,也不是可运行的程序或批处理文件。如果...原创 2019-03-16 20:36:20 · 602 阅读 · 0 评论 -
从源码角度分析基础的Handler消息机制
其实网上已经有很多写的很好很优秀的文章了,我这里就是想写一篇来捋清思路,同时加深记忆。这里推荐一篇优秀的文章:https://blog.csdn.net/zip_tts/article/details/86097136#commentBoxHandler消息机制主要还是有5个组件,Handler、Looper、Message、MessageQueue、ThreadLocalHandl...原创 2019-03-22 13:57:36 · 104 阅读 · 0 评论 -
从源码分析AsyncTask
AsyncTask是一种轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。主要有4个核心方法,它们的含义如下所示。onPreExecute():在主线程中执行,在异步任务执行之前,此方法会被调用,一般用于做一些准备工作。doInBackground(Params…params):在线程池中执行,此方法用于执行异步任务,params...原创 2019-03-26 15:00:01 · 101 阅读 · 0 评论 -
Android Error : Execution failed for task ':app:processDebugManifest'.
今天导入别人的项目时遇到了这个问题。1、打开Termianl ,输入命令 gradlew compileDebug --stacktrace这个之后,会显示一些具体出错的信息。2、我遇到的错误信息是Error occurred during initialization of VMCould not reserve enough space for 1572864KB object hea...原创 2019-07-29 18:28:46 · 87 阅读 · 0 评论 -
Androi Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'
1、删去.gradle →cleanProject 失败2、在android/app/build.gradle文件的defaultConfig中添加 multiDexEnabled true 失败3、发现自己是因为升级到android studio 3.4版本后出现这个问题,但是没有更新gradle。更新完gradle,问题解决...原创 2019-07-30 10:42:31 · 105 阅读 · 0 评论 -
实现注解方式来注册控件和点击
参考:https://www.jianshu.com/p/20da6d6389e1ViewInject.java/** * @Retention 用于声明该注解生效的生命周期,有三个枚举值可以选择<br> * 1. RetentionPolicy.SOURCE 注释只保留在源码上面,编译成class的时候自动被编译器抹除 * 2. RetentionPolicy.CLASS ...原创 2019-09-03 10:52:51 · 126 阅读 · 0 评论 -
android学习-10 单例模式
单例模式分为大致两种,饿汉模式和懒汉模式。一、饿汉模式系统一运行就创建对象,不考虑太多的问题,所以可能会被创建多次,存在多个对象。但是明显会有浪费内存。线程安全public class Singleton{ //类加载时就初始化 private static final Singleton instance = new Singleton(); privat...原创 2019-09-03 14:55:50 · 82 阅读 · 0 评论 -
android学习-11 oom产生的原因及解决方案(handler的内存泄漏问题)
oom:https://www.jianshu.com/p/b0451684b4d5静态变量生命周期:https://blog.csdn.net/ctcwri/article/details/8858414原创 2019-09-03 17:18:22 · 362 阅读 · 0 评论 -
android-12 okhttp面试
一句话概括:OKHttp3通过拦截链的设计,让请求分成5个拦截器去处理,拦截器各司其职,扩展性非常高。拦截链是从自定义的拦截器开始,然后再到默认的5个拦截器。一般情况下我们想打印网络请求日志,所以可以自定义Log拦截器,如果要给所有请求添加Header,同样可以自定义Header拦截器。5个默认拦截器的含义:1.失败重试、重定向拦截器。2.桥拦截器:主要是添加和删除一些header...原创 2019-09-30 13:55:38 · 216 阅读 · 0 评论 -
多线程实现方式
Java:实现多线程方式 3种package duoxiancheng;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;importj ava.util.concurrent.FutureTask;public class UseThread { public...原创 2019-10-08 15:28:42 · 127 阅读 · 1 评论 -
动态添加布局
RelativeLayout layout = new RelativeLayout(container.getContext()); TextView Tv_title = new TextView(container.getContext()); ViewGroup.MarginLayoutParams mp3 = new ViewGroup.MarginLayo...原创 2019-02-14 22:58:19 · 176 阅读 · 0 评论 -
让listview与其他布局一起动
将全部布局放在scrollview中,改写scrollview与listview public class UnScrollListView extends ListView { public UnScrollListView(Context context) { super(context); } pub...原创 2019-02-14 22:56:14 · 135 阅读 · 0 评论 -
ScrollView的子View高度match_parent无效
xml里为ScrollView加上android:fillViewport=“true”原创 2019-02-14 22:52:23 · 133 阅读 · 0 评论 -
ViewHolder和SmartImage的使用
private class NewsAdapter extends BaseAdapter { @Override public int getCount() { return newsInfoArray.size(); } @Override public Object getItem(...原创 2018-12-16 19:22:53 · 159 阅读 · 0 评论 -
切换需要网络读取的页面时先显示缓冲页面
其实就是先在原来页面前显示一个只有progressbar的页面xml代码(这里的@drawable/blank 我随便截了一张纯白色的图片):<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2018-12-16 20:53:55 · 164 阅读 · 0 评论 -
误删External Libraries 中的包,重新导入
删除gradle下面的缓存文件,我的目录是C:\Users\ASUS.gradle\wrapper\dists\gradle-3.3-all\caches\modules-2\files-2.1删除误删的包的缓存,重新打开as即可原创 2018-12-28 19:00:56 · 3188 阅读 · 0 评论 -
Android学习-1(你的第一行Android代码)
学习基于《第一行代码》(郭霖)Android大致可以分成四层架构:Linux内核层、系统运行库蹭、应用框架层和应用层。Linux内核层:为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动等等。系统运行库层:通过C/C++库来为Android系统提供主要的特性支持。如SQLite库提供数据库的支持,OpenGL|ES库提供3D绘图的支持等等。同时在这一层还有A...原创 2019-01-23 18:39:51 · 113 阅读 · 0 评论 -
Android学习-2(探究Activity)
学习基于《第一行代码》(郭霖)重写方法的快捷键:Ctrl+0(Mac为control+O)一、在Activity中使用Menu新建menu.xml&amp;amp;amp;lt;menu&amp;amp;amp;gt; &amp;amp;amp;lt;item android:id=&amp;amp;quot;@+id/add_item&amp;amp;quot; android:ti原创 2019-01-23 20:28:40 · 131 阅读 · 0 评论 -
Android学习-3(UI)
学习基于《第一行代码》第三章(郭霖)记录个大概,以后有用到再搜即可1. 可以用代码控制控件的可见性 setVisibility(),可以传入View.VISIBLE、View.INVISIBLE和View.GONE2. 要实现右边一个button,左边填充满editText 可以在editText设置 layout_width="0dp" layout_weight=“1”...原创 2019-01-23 21:08:43 · 133 阅读 · 0 评论 -
Android学习-4(碎片Fragment)
学习基于《第一行代码》第四章(郭霖)一、什么是Fragment迷你型的Activity,但是一个Activity中可以包括多个Fragment,充分利用空间,多用于平板上。二、碎片的使用方式最好使用support-v4库中的Fragment静态添加创建一个Fragment的布局fragment.xml创建一个继承自Fragment的类BlankFragment.java,并重...原创 2019-01-24 12:09:48 · 104 阅读 · 0 评论 -
Android学习-5(广播Broadcast)
学习基于《第一行代码》第五章(郭霖)一、广播简介Broadcast Receiver为Android四大组件之一。主要可以分为两种类型 标准广播和有序广播标准广播是一种异步的方式来进行传播的,广播发出去之后,所有的广播接收者几乎是同一时间收到消息的。他们之间没有先后顺序可言,而且这种广播是没法被截断的。有序广播 是一种同步执行的广播,在广播发出去之后,同一时刻只有一个广播接收器可以收...原创 2019-01-24 12:59:57 · 153 阅读 · 1 评论 -
Android学习-6(数据存储)
学习基于《第一行代码》第六章(郭霖)文章目录一、文件存储将数据存储到文件从文件中读取数据二、SharedPreferences存储将数据存储到SharedPreferences中从SharedPreferences中读取数据三、SQLite数据库存储数据存储也叫做数据持久化技术。主要提供了3种方式,即文件存储、SharedPreferences存储以及数据库存储,当然还可以用sd卡存储,但是...原创 2019-01-25 16:18:31 · 78 阅读 · 0 评论 -
Android学习-8(内容提供者Content Provider(二))
学习基于《第一行代码》第七章(郭霖)四、创建自己的内容提供器新建一个MyProvider继承自ContentProvider,并实现他的6个抽象方法:public class MyProvider extends ContentProvider { //初始化内容提供器的时候调用。通常会在这里完成对数据库的创建和升级等操作,返回true表示内容提供器初始化成功,返回false则表示失...原创 2019-01-27 14:14:17 · 206 阅读 · 0 评论 -
Android学习-9(网络编程并使用回调机制)
最近学到网络编程,发现了以前的知识盲区–回调。理解了好久才理解(可能是智商问题吧 ),现记录下来。网上看到大多数的解释是:先定义一个抽象类I类,然后在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用。把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量...原创 2019-01-27 20:00:17 · 142 阅读 · 0 评论