- 博客(43)
- 资源 (2)
- 收藏
- 关注
原创 Flutter 项目在iOS真机上运行白屏问题
Flutter运行项目至iOS真机设备时,出现白屏甚至闪退。重新创建项目运行仍无法解决,且不存在于iOS模拟器和Android设备。错误如下:dyld: Library not loaded: @rpath/Flutter.framework/Flutter Referenced from: /private/var/containers/Bundle/Application/D902A5...
2020-03-10 16:46:20
5953
3
转载 Flutter给Item中的某一组件添加事件监听
Listview是Flutter中比较常见的一种组件。具体用法为:new RefreshIndicator( child: new Center( child: new ListView.builder( ItemCount: _getLength(), itemBuilder: (BuildContext context,int position){ r...
2019-10-25 14:02:30
1404
原创 Flutter因键盘弹出造成bottom overlowed by X pixels
@override Widget build(BuildContext context) { return Scaffold( body:Container(...), resizeToAvoidBottomPadding: false, ); }
2019-10-21 15:22:20
1278
转载 Android CoordinatorLayout之自定义Behavior
一、认识CoordinatorLayoutCoordinatorLayout作为support:design库里的核心控件,在它出现之前,要实现View之间嵌套滑动等交互操作可不是件容易的事,复杂、难度大,基本绕不开View的事件机制,CoordinatorLayout很大程度上解决了这个痛点,方便我们实现各种炫酷的交互效果。如果你还没用过CoordinatorLayout,可先了解它的基本用...
2019-04-10 21:58:40
574
原创 IONIC3中接入极光推送
最近公司ionic项目要求接入推送,查了一圈发现 只有 极光对于混合开发友好一些。查阅了相应资料,数量还是比较多,说法也各有各的。但是我接入了好长时间却一直没有成功,错误信息如图: 后来查阅官方文档发现,android支持的版本为7.0.0以下。经过仔细对比,ionic的插件@android7.0.0的结构目录相比较之前发生变化,下图: 因此,注意,目前极光推送的插件版本是不支持@
2018-02-05 17:33:52
6486
3
转载 Android 架构组件 1.0 稳定版
作者:谷歌开发者 链接:http://www.jianshu.com/p/635ac616e001 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。简介几十亿的设备都在用 Android 系统,从高端手机到飞机上的影音娱乐系统,应有尽有,不一而足。而 Android OS 则为这几十亿的设备保驾护航,高效管理资源,保障运行流畅,然而有时候却增加了开发卓越 Ap
2017-11-28 10:46:31
574
原创 Android Studio下使用Java 8 ——让你的代码更优雅
上周,oracle正式发布了Java 9。作为一个java语言的开发者,赶紧先去用了下java 8的新特性。1、foreach遍历1.1 遍历map在java 8之前,我们 遍历 map一般都是:Map<String, Integer> items = new HashMap<>();items.put("A", 10);items.put("B", 20);items.put("C", 30
2017-09-25 11:31:24
1804
原创 利用FileDownLoad实现文件框架
最近项目中有个文件下载及管理的功能。一般自己写的下载只能实现下载功能,要实现本地文件管理的功能颇复杂,需要自己维护本地数据库。网上查了下,刚好有个使用的框架——FileDownloader。 项目主页:https://github.com/wlfcolin/file-downloadergradle中使用:compile 'org.wlf:FileDownloader:0.3.2'applic
2017-09-06 14:03:06
2134
原创 Android中如何判断service是否启动并停止
启动service时有两种方法:startService;bindService。 /* * 判断服务是否启动,context上下文对象 ,className服务的name */ public static boolean isServiceRunning(Context mContext, String className) { boolean is
2017-07-05 15:46:30
8293
原创 Android Studio 中 Instant Run 日常BUG
对,你没有看错,又是Instant Run. 在Android Studio 2.3.1中刚修复了一个bug,然而这货又来搞事情了.问题如图:找不到Application类.这个bug发生在svn同步之后.起初以为是文件冲突,查了下并没有.clean-rebuild也无效. 关于这,在StackOverFlow上的解释如下:其中红框的部分引起我的关注–Instant Run.好吧,老规矩,set
2017-04-13 11:51:20
999
原创 Android Studio 2.3.1修复了Instant Run的BUG
如题,今早,Android Studio 收到更新的推送,由于之前2.3版本存在Instant Run的BUG,很烦。于是乎在收到推送的第一时间里,去查看了下更新日志: 果然看到了我最关心的“Instant Run”—— This is a minor update to Android Studio 2.3 that fixes an issue where some phys
2017-04-05 11:36:22
3096
原创 Android Studio 升级到2.3版本后Run项目不能自动启动APP的问题
前两天把Android Studio升级到2.3版本后发现一个问题:Run App的时候 并没有启动,仅仅是安装。起初以为是代码问题,复查,并未发现。于是乎新建了一个Project,Run默认的App也并没有启动。网上查了下也并没有发现什么可用的资源,于是乎,我就自己开始解决。首先,代码问题已经排除;其次是配置问题,我尝试在Run的Edit Configuratuons(如图)中进行修改配置,也尝试
2017-03-10 01:59:28
7037
1
原创 Android Stduio 使用Lombok
最近偶然间接触到Lombok这款插件,他可以方便的通过注解来实现getter和setter.1、Android Studio中安装plugin File->Settings->Plugins->安装Lombok 2、在对应Module的build.gradle中配置: dependencies中配置compile ‘org.projectlombok:lombok:1.16.1
2017-02-22 18:29:13
2997
原创 Android 设置透明通知栏
简单粗暴getWindow ().requestFeature ( Window.FEATURE_NO_TITLE ); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow (); window.clearFlags
2017-01-20 10:59:42
2120
转载 Android ListView分类/分组效果
实现ListView分类显示效果,目前我知道的有两种方案:每一个ItemView都包含用于显示分类信息的view(TitleView)和用于显示内容view(参考带索引的listview)通过ListView加载不同类型的Item实现。本文属于这种实现方式当前实现描述:与自定义Adapter的ListVIew雷同,只是多使用两个BaseAdapter API:public int getIte
2016-12-14 14:18:15
5418
1
原创 Android 图片压缩
方法一:我们先看下质量压缩方法:private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,
2016-11-28 09:39:06
365
转载 当关闭通知消息权限后无法显示系统Toast的解决方案
前言不知道大家是否遇到了当你们的App在5.0以上系统中被用户关闭消息通知后(其实用户本身只是想关闭Notification的,猜测),系统的Toast也神奇的无法显示。当然这个问题并不复杂,有很多种解决方案,我们逐一探讨一下,然后来看看到底哪种方式会好一点。问题分析直接跟踪Toast的源码,其实我们可以发现,果真Toast其实是通过NotificationManagerService 维护一个to
2016-11-10 10:51:58
1520
原创 Android编程之SparseArray<E>详解
最近编程时,发现一个针对HashMappublic SparseArray() { this(10); } public SparseArray(int initialCapacity) { ...... } 二、增 它有两个方法可以添加键值对:public void put(int key, E value) public void append(int
2016-09-18 16:19:13
413
原创 20行代码写出一个圆形的ImageView
昨天在简书上看到一篇文章,写的是通过20行代码写出一个圆形的ImageView,自己也尝试了一下,效果还说得过去。大家都知道,我们自己要写一个圆形的ImageView,先写一个类继承于ImageView。然后实现构造方法,重写onDraw(Canvas canvas)。下面上代码:package com.lucasey.demo0808;import android.content.Context;
2016-08-08 10:14:56
1195
原创 React-Native (一)
环境搭建:(参考React-Native中文网-http://reactnative.cn/docs/0.30/getting-started.html#content)1>根据React-Native中文网的介绍,先安装Chocolatey Chocolatey,可以认为是一个包管理工具,通过它,我们可以方便的下载和安装React-Native需要的环境。 Chocolate
2016-07-29 10:01:33
632
原创 Android 获取应用缓存大小与清除缓存
package com.lucasey.littleant.frame;/** * 文 件 名: FileCacheUtils.java * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 * */ import java.io.File; import java.math.BigDecima
2016-07-26 16:55:11
6770
转载 Android中Activity、Intent相关Flag介绍
先首先简单介绍下Task和Activity的关系Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在最上面。从Task中取出东西(Activity)是从最顶端取出,也就是说最先取出的是最后添加的东西(Activity),以此类推,最后取出的是第一次添加的Activity,而Activity在Task
2016-06-28 17:07:07
597
原创 Android 跳转应用市场评分
在Android的App中,经常会见到这样的功能。从当前app跳转到一个应用商店且显示本软件详情的页面,让用户给自己的App进行评分,从而提高App的排名。下面介绍该功能的实现。/*** * 跳转应用市场评分 * @author Lucasey */public class ScoreUtils { /** * 获取已安装应用商店的包名列表 * * @
2016-06-27 15:41:25
4237
3
转载 Android常用的几个系统参数相关代码片段
1.收集设备信息,用于信息统计分析public static Properties collectDeviceInfo(Context context) { Properties mDeviceCrashInfo = new Properties(); try { PackageManager pm = context.getPackage
2016-06-27 13:58:51
565
转载 安卓各种权限大全
android.permission.ACCESS_CHECKIN_PROPERTIES 访问登记属性 读取或写入登记check-in数据库属性表的权限 android.permission.ACCESS_COARSE_LOCATION 获取错略位置 通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 android.permission.AC
2016-06-24 15:54:25
1377
原创 遍历Map的四种方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 Syst
2016-06-17 12:17:00
333
原创 Android 功能强大的Scrollview
Android中自带的ScrollView没有实现滚动的监听,而在开发中,我们经常要借助这个监听来实现一系列的操作。因此,我们需要自定义一个Scrollview来实现这个功能。 先上代码:package com.lvtao.comewell.widget;/*** * 功能强大的Scrollview */import android.content.Context;import andr
2016-06-15 11:01:08
448
转载 Android 判断View是否被遮挡
android开发中,我经常会遇到View是否被覆盖的问题,那么,要如何来判断一个View是否被遮挡呢?原理,通过view的四个顶点坐标,判断view之间是否有重叠的区域,以此来判断view是否被遮挡,但是情况覆盖不全面,需要根据具体情况调整判断策略public boolean isViewCovered(final View view){ View currentView = v
2016-06-14 14:00:53
6080
原创 安卓下自定义相机简单实现
关于安卓自定义相机,网上有不少的源码。但是功能实现上一般都还会略有不足比如对焦方式,camera资源的释放等等。还有的自定义相机是基于opnCV实现,应用于AR场景,在这里我们暂时用不到这样高大上的技术。 具体实现为:自定义一个CameraSurfaceView,继承于SurfaceView.实现了在activity中自定义的CameraFocusListener接口用于相机对焦时对焦指示器的显示
2016-05-11 14:12:36
2083
原创 Android中自定义SwipeRefreshLayout的实现
原来的Android SDK中并没有下拉刷新组件,但是这个组件确实绝大多数APP必备的一个部件。好在google在v4包中出了一个SwipeRefreshLayout,但是这个组件只支持下拉刷新,不支持上拉加载更多的操作。因此,我们就来简单的扩展一下这个组件以实现上拉下载的目的。上拉加载或者说滚动到底部时自动加载,都是通过判断是否滚动到了ListView或者其他View的底部,然后触发相应的操作,
2016-04-07 11:04:55
2541
转载 android application解析
Application类Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类。通常我们是不需要指定一个
2016-03-28 10:15:59
387
原创 安卓智能语音机器人--AlphaGo?你也可以
前段时间AlphaGo大战李世乭让人工智能火了一把。本文将为大家简单的介绍下安卓平台的语音机器人。项目文件: 代码: MainActivity:package com.itcast.chatrobot;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android
2016-03-24 11:19:17
3851
2
原创 Eventbus简单使用
EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。话不多说,直接上代码:用于接收信息的Activity:package com.lucasey.eventbus;import de.greenrobo
2016-03-23 10:57:29
548
原创 安卓文件写入与读取
读写/data/data/<应用程序名>目录上的文件://写数据 public void writeFile(String fileName,String writestr) throws IOException{ try{ FileOutputStream fout =openFileOutput(fileName, MODE_PRIVATE);
2016-03-21 22:46:27
486
转载 Android中如何检测重力感应变化:Sensor和SensorManager
在实际开发中我遇到一个让人很蛋疼的问题,大致是当我点击某一个按钮的时候,强制切换为横屏显示,这个很容易做到,只需在onclick里面调用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE),就能做到了。但是需求说还没完,当我横屏看完了之后,我把手机竖起来,又能切换成竖屏。可是这回我已经去掉了屏幕随重力感应变化而变化的响应
2016-03-21 14:17:50
11096
原创 格式化数字保留两位小数
(1)使用BigDecimal ,保留小数点后两位public static String format1(double value) { BigDecimal bd = new BigDecimal(value); bd = bd.setScale(2, RoundingMode.HALF_UP); return bd.toString(); } (2)使用
2016-03-15 15:22:20
3152
转载 Android多媒体开发笔记-- AwesomePlayer基本框架及播放流程
1.通过setDataSource 指定播放器的数据源。可以是URI或者fd.可以是http:// 、rtsp://、本地地址或者本地文件描述符fd。其最终调用是将上层传递来的参数转化为DataSource,为下一步的demux提供数据支持。 2.在真正Prepare功能函数onPrepareAsyncEvent()会调用finishSetDataSource_l。通过第一步产生的DataSour
2016-03-14 15:31:08
891
转载 安卓五种存储方式入门
本文介绍Android中的5种数据存储方式。数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据下面将为大家一一详细介绍。第一种: 使用SharedPreferences存储数据
2016-03-14 13:27:26
5171
转载 安卓文件上传
文件上传在B/S应用中是一种十分常见的功能,那么在Android平台下是否可以实现像B/S那样的文件上传功能呢?答案是肯定的。下面是一个模拟网站程序上传文件的例子。 首先新建一个Android工程,新建主启动Activity:MainActivity.java: package com.xzq.upload;import java.io.DataOutputStream;import java
2016-03-14 10:18:47
474
EventBus框架
2016-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人