
Andriod
小源子2016
目前主要从事Android、Flutter开发,也开发过J2EE、python、React、VUE、taro、 小程序、JAVAFX、QT等
展开
-
安卓bitmap与字节数组关系深入研究应用
Bitmap Byte 安卓原创 2022-10-08 17:10:47 · 1682 阅读 · 1 评论 -
AS查看依赖关系和排除依赖关系的办法
AS查看依赖关系和排除依赖关系的办法原创 2022-07-22 14:31:10 · 850 阅读 · 0 评论 -
安卓ConcurrentModificationException简单记录
代码 1.快速失败原则是Java检测操作集合操作的一种手段 2.iterator遍历的同时应该不要直接对原有集合操作,而是还要通过iteratorpackage com.my.livedata.comodimport android.os.Buildimport androidx.annotation.RequiresApi// mutableListOf相当于ArrayListval observers = mutableListOf<String>()fun..原创 2021-09-05 10:25:28 · 527 阅读 · 0 评论 -
简单聊聊Android和Flutter的ViewModel实现方案
一.LiveDatapublic class DemoData extends LiveData<DemoData> { private int tag1; private int tag2; public int getTag1() { return tag1; } public void setTag1(int tag1) { this.tag1 = tag1; postValue(th原创 2021-08-31 13:37:15 · 786 阅读 · 0 评论 -
华为mate30上,用于长连接的service服务无法启动问题修复
1.问题背景: 华为mate30上无法启动service,没有任何报错信息Intent intent = new Intent(application.getApplicationContext(),KWAppIMService.class);application.getApplicationContext().startService(intent);2.问题原因(官方回复):尊敬的开发者,您好, 从安卓O版本推出出了Background Execution...原创 2020-06-10 15:15:43 · 1199 阅读 · 0 评论 -
AndroidManifest.xml中定义的application name的作用
参考1:http://blog.youkuaiyun.com/jdsjlzx/article/details/7214625参考2:http://38275.blog.51cto.com/28275/707914 这个name属性是来设置你所有activity所属于哪个application的,默认是android.app.Application,你也可以自己定义一个类例如public转载 2015-02-08 13:08:15 · 1138 阅读 · 0 评论 -
采用FLAG_ACTIVITY_CLEAR_TOP退出整个程序(多activity)
问题:多activity中退出整个程序,例如从A->B->C->D,这时我需要从D直接退出程序。网上资料:{finish()和system(0)都只能退出单个activity。杀进程等的等方式都不行~~~解决问题:我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在D窗口打开A窗口时在Intent中直接加入标志Intent.FLAG_转载 2015-02-11 14:09:59 · 613 阅读 · 0 评论 -
Android中自定义组件及自定义属性
地址:http://blog.youkuaiyun.com/lovecluo/article/details/8699121有时候在做开发的时候,android提供给我们的视图并不能满足我们的要求,所以有时候我们需要自己创建自己的view。我们只需要将我们想要的继承于View,然后重写里面的方法就可以了。[java] view plaincopypackage com.转载 2015-02-12 14:51:12 · 738 阅读 · 0 评论 -
Android中asset文件夹和raw文件夹区别
*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.r转载 2015-03-15 18:31:08 · 498 阅读 · 0 评论 -
通过自定义drawable定义按钮按下和不按下时的背景图片
第一步:在drawable文件中自定义按钮不同情况下的Drawable第二步:使用原创 2015-03-15 20:51:11 · 1265 阅读 · 0 评论 -
Groovy语言的介绍
Groovy是一种语言,其语法类似于Java,但比Java更简单。它通常被视为脚本/灵活/动态的语言,但是我不喜欢这类形容词,因为我认为它们只会令人困惑。如果说Java是一位明智的中年男子,那么Groovy就是他十几岁的儿子。Groovy具有父亲的许多特点,但是更为狂野且更为有趣。他们也可以很好地合作。Groovy的规则比Java少得多。例如,要在Java中获得标准的"HelloWorld"输转载 2015-03-25 19:17:56 · 647 阅读 · 0 评论 -
用Gradle 构建你的android程序
前言android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gradle 来构建项目, 下定决心把android gralde 构建项目的用户指南全部看完, 让不会用gradle 的人也用gradle构建android项目,让打包(注意,打包和构建是两码事)多版本android不再痛苦。最后,题外话:珍惜生命,远离ant....转载 2015-03-25 19:38:00 · 619 阅读 · 0 评论 -
fragment onCreate和onCreateView的区别
onCreate是指创建该fragment类似于Activity.onCreate,你可以在其中初始化除了view之外的东西,onCreateView是创建该fragment对应的视图,你必须在这里创建自己的视图并返回给调用者,例如return inflater.inflate(R.layout.fragment_settings, container, false);。原创 2015-03-15 13:55:27 · 2546 阅读 · 0 评论 -
Andriod三步学会安卓自定义视图及其属性
Andriod自定义视图 自定义属性原创 2015-03-15 20:24:52 · 948 阅读 · 0 评论 -
DP和PX的转换
pixels = dps * (density /160).如果需要为Android pad定制资源文件,则res目录下的目录可能为:drawabledrawable-ldpidrawable-mdpidrawable-hdpidrawable-xhdpidrawable-nodpidrawable-nodpi-1024×600drawable-nodp转载 2015-03-18 16:43:12 · 1306 阅读 · 0 评论 -
安卓中9.png介绍和制作
在安卓中,我们有时候需要图片在指定区域缩放,其他区域不缩放,如图:原创 2015-03-19 19:59:35 · 566 阅读 · 0 评论 -
Android-apt
What is this?The android-apt plugin assists in working with annotation processors in combination with Android Studio. It has two purposes:Allow to configure a compile time only annotation proces转载 2015-03-26 13:19:21 · 643 阅读 · 0 评论 -
ProGuard
ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。转载 2015-03-26 14:14:31 · 536 阅读 · 0 评论 -
利用gralde和Andriod Studio进行多渠道打包
App build.gradleapply plugin: 'com.android.application'apply plugin: 'android-apt'def AAVersion = '3.0.1'//修改keystore自己的路径def KeyStoreFile = 'test.keystore'def KeyStorePwd = '111'd原创 2015-03-26 19:32:08 · 875 阅读 · 0 评论 -
Android项目开发实战:倒计时
简略思路:Timer 类用来执行定时任务TimerTask可以理解为一个后台线程类,用来制定异步任务Handler用来传递倒计时信息到界面展示package com.test.jd.myview;import android.os.Bundle;import android.os.Handler;import android.os.Message;import a原创 2015-03-16 16:27:01 · 719 阅读 · 0 评论 -
Android的AlertDialog详解
AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。使用AlertDialog.Builder创建对话框需要了解以下几个方法:setTitle :为对话框设置标题setIcon :为对话转载 2015-03-20 17:01:15 · 471 阅读 · 0 评论 -
onTouch返回true的含义
原创 2015-03-17 11:49:26 · 706 阅读 · 0 评论 -
AlphaAnimation简单应用
@Override public void onClick(View v) { /* AlphaAnimation aa = new AlphaAnimation(0,1); aa.setDuration(1000); buttonAlpha.startAnimation(aa);*/ buttonAlpha.startAnim原创 2015-03-17 15:24:21 · 691 阅读 · 0 评论 -
Andriod样式属性重点解释
layout_alignParentBottom true 目前理解为在父容器下面空白部分居中原创 2015-03-17 16:49:54 · 580 阅读 · 0 评论 -
Gradle和Andriod studio相关文章
如何安装配置gradle及eclipse的结合http://jingyan.baidu.com/article/9225544684a97c851648f486.htmlGradle学习系列http://www.davenkin.me/post/2013-11-12/gradle-first-tryGradle和studiohttp://stor原创 2015-03-06 18:24:51 · 763 阅读 · 0 评论 -
AndroidStudio自定义属性xmlns无法识别问题解决in Gradle projects,always use http://schemas.android.com/apk/res-auto
正如in Gradle projects,always usehttp://schemas.android.com/apk/res-auto for custom attributes所说的将eclipse中[html] view plaincopyhttp://schemas.android.com/apk/res/com.xxx.xxx 换成转载 2015-03-11 14:54:57 · 3469 阅读 · 0 评论 -
安卓activity生命周期纵横切换补偿理解
1.Activity状态数据的留存传递onCreate(Bundle savedInstanceState)中的savedInstanceState取决于protected void onSaveInstanceState(Bundle outState) {}会如何存放,而测试发现onSaveInstanceState中的参数我们发现每次执行都是一个新的实例,对,是一个新的实例,并没原创 2015-03-29 19:06:20 · 795 阅读 · 0 评论 -
Android WebView中的JavaScript代码使用
上一篇博文:Android WebView使用基础已经说了一些Android中WebView的基本使用。 本篇文章主要介绍WebView中的JavaScript代码的执行相关,已经JS代码与Android代码的互相调用。 (因为本人对Web开发并不是很熟悉,所以如果有哪些地方说得不对,还请指正。) 原文地址:http://www.cnblogs.com/mengdd/archive转载 2015-03-30 17:34:55 · 635 阅读 · 0 评论 -
android 数据变化时notifyDataSetChanged 无效的解决方案
假定你的数据集合体为data,如果有新的数据加入或需要把旧数据全部更换,应采用追加的方式,保留data的原引用1 如data是个ArrayList,应使用add或先clear再addALL2 否则你用data = 一个新的数据集合体,这时调用notifyDataSetChanged 是无效的之所以这样做是因为adapter初始化时就绑定了数据集合的地址,所以转载 2015-03-23 12:09:57 · 632 阅读 · 0 评论 -
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络) LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。转载 2015-03-31 15:18:46 · 670 阅读 · 0 评论 -
Android自定义属性,attr format取值类型
Android自定义属性,attr format取值类型1. reference:参考某一资源ID。(1)属性定义:background" format = "reference" />(2)属性使用:android:layout_width = "42dip"android:layout_height = "42dip"android:background原创 2015-03-31 12:04:35 · 693 阅读 · 0 评论 -
抓包工具Fidder详解(主要来抓取Android中app的请求)
今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以抓取PC上开发web时候的数据包,而且可以抓取移动端(Android,Iphone,WindowPhone等都可以),太强大了,以前搞web的时候,知道有一款叫做HttpWatch工具,可以抓取web转载 2015-03-18 14:15:40 · 1011 阅读 · 0 评论 -
自定义Andriod ContentProvider
1.理解ContentProvider是什么?我的理解:我们通过DBOpenHelper操作SQLite,可以进行创建表、插入、修改、删除等行为,而ContentProvider对这些再封装后,通过ContentProvider进行相关数据的存和取.2.工作原理ContentResolver可以说是具体的行为者,它通过URI散播消息,相关ContentProvider收到消息后原创 2015-04-02 20:59:36 · 581 阅读 · 0 评论 -
onNewIntent调用时机
在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent一、其他应用发Intent,执行下列方法:I/@@@philn(12410): onCreateI/@@@philn(12410): onStartI/@@@philn(124转载 2015-03-31 18:54:45 · 476 阅读 · 0 评论 -
Andriod 设计制作切换包含不同的Antivity
1.布局:利用RadioGroup布局,每个radio可以设计为图片,点击radio,包含进来不同的Activity布局里还有个视图容器2.后台public abstract class StackActivityGroup extends ActivityGroup { @Override public void onCreate(Bundle s原创 2015-03-31 19:37:35 · 666 阅读 · 0 评论 -
Andriod Studio 检测不到Device解决方案
解决办法:1.在任务管理器里杀死adb.exe进程2.在手机开发者选项中打开USB调试功能4.使用adb的reset功能4..重新插数据线参考文章:http://blog.youkuaiyun.com/smach1991710/article/details/9429863原创 2015-04-02 11:04:41 · 1811 阅读 · 0 评论 -
Activity中Flag的解释FLAG_ACTIVITY_SINGLE_TOP
Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT 1. 若是已经启动了四个Activity:A,B,C和D。在D Activity里,我们要跳到B Activity,同时欲望C finish掉,可以在startActivity(intent)里的intent里添加flags标识表记标帜,如下转载 2015-03-31 20:05:53 · 1336 阅读 · 0 评论 -
Android实战技巧:ViewStub的应用 (安卓性能相关)
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl转载 2015-04-03 16:36:16 · 597 阅读 · 0 评论 -
onMeasure(),onLayout(),onDraw
可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。本节我们探索自定义View中onMeasure()起到了什么样的作用,题外要插的一句是,Activity框架,View框架中大量的on函数基本上都应用到了Template模式,掌握这一转载 2015-04-03 20:33:22 · 1099 阅读 · 0 评论 -
android选择图片或拍照图片上传到服务器(包括上传参数)
上传图片原理思路:通过Intent跳转到照相机和图片相册选择,获取到操作的图片的URI,然后通过ContentRolver获取到相关的图片地址,获取输入流,再对服务器进行输出流服务端接收参考:http://blog.youkuaiyun.com/qq247890212/article/details/16358581下面的客户端参考:http://blog.youkuaiyun.com/sprin转载 2015-04-03 13:56:14 · 1647 阅读 · 0 评论