Android应用研发
长安三日
不停地学习也只不过是掌握使用方法,不止何时才能学得更深
展开
-
Android文件存储:内部存储,外部存储及其路径
Android系统分为内部存储和外部存储,内部存储是手机系统自带的存储,一般空间都不大,外部存储一般是SD卡的存储,空间一般都比较大。一般我们会把存储内容放在外部存储空间里。在使用过程需要注意事项:先判断SD卡是否可用,可用时优先使用SD卡的存储,不可用时用内部存储存储在SD卡上时,可以在SD卡上新建任意一个目录存放,也可以存放在应用程序内部文件夹(APP专属文件),区别是在SD卡的任意目...原创 2020-05-06 14:08:11 · 5840 阅读 · 1 评论 -
Field类的setAccessible()
之前一直以为setAccessible()的取值是由成员变量的访问权限决定的,结果经过测试发现,不管成员变量的访问权限是public、protected、默认、还是private,isAccessible()方法都返回false,但是访问private修饰的成员变量时,需要setAccessible(true),否则抛出IllegalAccessException,而其他访问权限修饰的成员变量可以...原创 2020-04-05 17:29:00 · 801 阅读 · 0 评论 -
Android中监听EditText文本输入
平时在做Android开发过程中经常要用到EditText,有时候可能需要监听你在TextView中输入的字数的状态和变化,以便于我们能做相应的提示和操作。我们可以通过下面的方式来实现。[java] view plain copyprint?class EditChangedListener implements TextWatcher {转载 2017-07-05 10:28:50 · 464 阅读 · 0 评论 -
Android中 ScrollView(ListView)中嵌套ListView时显示不全的简便解决方案
利用下面这个Utility 类的静态方法setListViewHeightBasedOnChildren()即可实现:在listview.setAdapter()之后调用Utility.setListViewHeightBasedOnChilren(listview)就Okay 了。public class Utility {public static void se转载 2017-07-18 11:18:34 · 609 阅读 · 0 评论 -
用SpannableString打造绚丽多彩的文本显示效果
引语TeXtView大家应该都不陌生,文本展示控件嘛! 就用TextView显示普普通通的文本,OK,很简单,Android入门的都会,没入门的在门缝外看两眼也都会,哈哈,开玩笑。那要是设计在开发需求中要求类似微信聊天表情一样在TextView中插入表情图片呢? 有的小伙伴就会说啦,“TextView添加图片我会啊,不就是drawableLeft,drawableRight嘛!” 嗯 ~ 也行转载 2017-07-18 13:52:20 · 278 阅读 · 0 评论 -
Adapter.notifyDataSetChanged()不起作用
今天在使用RecyclerView过程中adapter.notifyDataSetChanged()不起作用,通过Logcat打印发现数据源变化了,但是视图一直没变,后面发现是list集合在内存中的地址变了。之前的写法是:JsonObject jsonObject = new JsonParser().parse(msg.obj.toString()).getAsJsonObject(原创 2017-07-10 11:41:55 · 1652 阅读 · 0 评论 -
Glide使用详解(一)
一. 下载在build.gradle中添加依赖: compile 'com.github.bumptech.glide:glide:3.7.0'11需要support-v4库的支持,如果你的项目没有support-v4库(项目默认已经添加了),还需要添加support-v4依赖: compile 'com.android.support:support-v4:23.3.转载 2017-07-19 19:46:17 · 500 阅读 · 0 评论 -
JAVA字符串格式化-String.format()的使用
常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得c语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale转载 2017-08-01 11:04:19 · 483 阅读 · 0 评论 -
解决在华为手机获取的图片列表中部分图片不能被获取到
/** * @param img */ private void SelectUserImage(ImageView img) { //打开手机的图库;// intent = new Intent();// intent.setType("image/*");// intent.setAction(Inte原创 2017-07-04 10:00:42 · 3139 阅读 · 0 评论 -
ViewPager,ScrollView 嵌套ViewPager滑动冲突解决
ViewPager,ScrollView 嵌套ViewPager滑动冲突解决本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布这篇博客主要讲解一下几个问题 - 粗略地介绍一下View的事件分发机制 - 解决事件滑动冲突的思路及方法 - ScrollView 里面嵌套ViewPager导致的滑动冲突 - ViewPager里面嵌套ViewPager 导致的滑动转载 2017-06-07 16:11:19 · 354 阅读 · 0 评论 -
NestedScrollView、RecycleView、ViewPager 等布局方面的常见问题汇总,及解决
前言在开发中我们经常会用到 NestedScrollView 和 RecycleView,一般情况下这两种布局是不需要进行嵌套的,很多情况下 RecycleView 就可以自行解决,但是毕竟是一般情况,因此超出一般情况外的,我们可能就需要进行嵌套了,虽然 Google 大大也不鼓励我们这样使用。这样使用可能会带来一些问题,一如当年的 ScrollView 和 ListView 的矛盾一样。转载 2017-06-07 15:46:42 · 1727 阅读 · 0 评论 -
ViewPager与NestedScrollView套嵌会引起冲突,滑动不了的问题
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pa转载 2020-04-14 13:12:36 · 11517 阅读 · 1 评论 -
JAVA字符串转日期或日期转字符串
文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的格式,yyyy是转载 2017-08-01 11:05:32 · 455 阅读 · 0 评论 -
Android 仿微信回复评论点赞效果
模仿微信朋友圈、QQ说说的评论的人,点赞人可点击效果,非原创这里只是转载一个github上的开源库TextViewSpanClickable转载 2017-08-01 11:06:18 · 2119 阅读 · 2 评论 -
解决 Android N 上报错:android.os.FileUriExposedException: file:///storage/emulated/0/
解决Android N文件访问crashandroid.os.FileUriExposedException file:///storage/emulated/0/xxx原因:Android N对访问文件权限收回,按照Android N的要求,若要在应用间共享文件,您应发送一项 content://URI,并授予 URI 临时访问权限。而进行此授权的最简单方式是使用 Fil转载 2017-08-02 15:18:36 · 17062 阅读 · 0 评论 -
谈谈Fragment的用法之Fragment实现Tab切换中的那些事
首先底部的我们使用FragmentTabHost即可,这里我们对系统的这个控件做了简单的修改。系统的这个控件在切换tab的时候是会detach 当前的Fragment, 也就是销毁当前Fragment的视图。这样就会导致每次切换tab的时候都会重新走onCreateView,重新创建Fragment view。这样我们之前的状态就会丢失,这当然不是我们所想要的。转载 2019-04-08 14:59:44 · 2044 阅读 · 0 评论 -
activity设置背景透明及重写跳转动画踩坑
Activity设置背景透明: <!--activity背景透明--> <style name="TranslucentStyle" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowAnimationStyle">@style/AnimBot...原创 2019-03-26 14:40:15 · 1918 阅读 · 0 评论 -
Android基础之测量text宽度的三种方式
String str = "mare_blue"; canvas.drawText( str , x , y , paint); //1. 粗略计算文字宽度 Log.d(TAG, "measureText=" + paint.measureText(str)); //2. 计算文字所在矩形,可以得到宽高 Rect rect = new Rect(); paint.get转载 2017-11-24 14:57:22 · 775 阅读 · 0 评论 -
RecyclerView的万能Adapter
近期看了RecyclerView更全解析之 - 打造通用的万能Adapter作者录制的视频,手打了一份代码,以便于以后查阅。其余废话不说了,看代码:Adapter部分package com.example.weijinran.recyclerviewadapterdemo.commonAdapter;import android.content.Context;import原创 2017-10-25 16:31:43 · 335 阅读 · 0 评论 -
OKHttp封装
不说废话,直接上代码(okHttpUtils)package com.weijinran.wjr_library.utils;import android.os.Handler;import android.os.Looper;import java.io.IOException;import java.util.concurrent.TimeUnit;import okh原创 2017-10-18 13:40:26 · 581 阅读 · 0 评论 -
Android开发 sharesdk分享微信/朋友圈的时候只显示文字,不显示链接
问题:分享的时候只将分享的content分享出去了,连标题及链接都没有分享出去。原因:没有配置image导致。解决办法:在 showShare 方法里面添加配置:if(ImageUrlOrPath != null &&ImageUrlOrPath.contains("/sdcard/")){ //imagePath是图片的本地路径,Linked-I转载 2017-08-05 09:39:46 · 1744 阅读 · 0 评论 -
解决服务器返回数据格式不规范导致Json解析出错
第一种方案:可以使用try来手动抛出异常,并打印错误信息MatchBean matchBean = null;try { matchBean = new Gson().fromJson(msg.obj.toString(), MatchBean.class);} catch (Exception e) { e.printStackTrace(); Strin...原创 2017-07-27 17:44:51 · 19762 阅读 · 0 评论 -
探索PinYin4j.jar将汉字转换为拼音的基本用法
将汉字转换为拼音在Android开发中是个很常见的问题。例如:在android手机应用开发中,要查询联系人的姓名,通常都是用拼音进行查询的。Pinyin4j是一个功能强悍的汉语拼音工具包,是sourceforge.net上的一个开源项目。主要的功能有: - 支持同一汉字有多个发音 - 支持拼音的格式化输出,比如第几声之类的 - 支持简体中文、繁体中文转换为拼音 首先转载 2017-08-11 15:08:49 · 434 阅读 · 0 评论 -
Android动态获取权限
前几天在网上找了找Android动态获取权限的文章和视频,自己整理了一下。几天看一位大神说真正的程序员是有着分享精神的,我这个刚刚入行的小菜鸟,也想把自己整理的东西分享给大家。本文参考了A_si的Permission——郭霖认为最优的运行时权限方案和郭霖大神的CSDN视屏在这之前,我们需要知道什么是权限?权限是一种安全机制。android权限主要用于限制应用程序内部某些具有转载 2017-08-11 11:05:20 · 644 阅读 · 0 评论 -
android6.0以后获取权限(一次性获取所有)
首先上工具类[java] view plain copyprint?"code" class="java">"code" class="java">/** * Created by LH on 2016/7/27. */ public class PermissionUtil { private static PermissionUt转载 2017-08-11 11:01:48 · 1189 阅读 · 0 评论 -
Android 设定横屏,禁止屏幕旋转,Activity重置 [更新视频播放器相关]
1. 设定屏幕方向当指定了屏幕的方向后(非SCREEN_ORIENTATION_UNSPECIFIED),屏幕就不会自动的旋转了有2中方式控制屏幕方向:1.1 修改AndroidManifest.xml在AndroidManifest.xml的activity中加入:横屏: android:screenOrientation=”lan转载 2017-08-03 11:13:39 · 1174 阅读 · 0 评论 -
Design库-TabLayout属性详解
序上图是简书Android端的主页Tab,在其他的App中Tab也是很常见的,它的实现方式也有很多:TabHost,自定义控件(第三方库),RadioGroup等等。这里主要介绍Android Design库中的TabLayout的使用。1.什么是TabLayout在源码中给出了TabLayout的定义:TabLayout provides a horizont转载 2017-05-20 14:46:16 · 402 阅读 · 0 评论 -
fragment中嵌套viewpager,vierpager中有多个fragment,不显示而且滑动卡顿
现在好多应用流行一种布局。底部几个工具栏选项,上面也有类似tab的选项。底部用RadioGroup控制fragment的切换。以上有五个fragment。第一个fragment,代表着首页。首页又是一个类似tab的fragment,使用viewpager切换着两个fragment。 private void InitViewPager(View pare转载 2017-05-19 17:10:30 · 1404 阅读 · 0 评论 -
TwinklingRefreshLayout 支持下拉刷新和上拉加载的 RefreshLayout,自带越界回弹效果,支持 RecyclerView,AbsListView,ScrollView等
TwinklingRefreshLayout项目地址:lcodecorex/TwinklingRefreshLayout简介:支持下拉刷新和上拉加载的 RefreshLayout,自带越界回弹效果,支持 RecyclerView,AbsListView,ScrollView,WebViewEnglish VersionTwinklingRefreshLayout 延转载 2017-04-19 17:03:30 · 1404 阅读 · 3 评论 -
Android启动页+引导页
启动页代码如下:package com.example.sportsii.tixinwangapp.activity;import android.content.Context;import android.content.Intent;import android.graphics.Color;import android.os.Build;import android.o原创 2017-04-29 19:15:54 · 2644 阅读 · 0 评论 -
Android RadioGroup设置单选效果
RadioGroup中添加了几个RadioButton后,这些RadioButton应该只能选一个,但是如果不为每个button设id,这些button就失去了单选效果。虽然正常的流程会设id,在做页面效果图的时候没有添加,找了好久才找到原因。[html] view plain copyprint?RadioGroup原创 2017-05-03 08:58:17 · 3775 阅读 · 0 评论 -
Android 向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/20934541),请尊重他人的辛勤劳动成果,谢谢!今天给大家带来一个向右滑动销毁Activity的效果,Activtiy随着手指的移动而移动,该效果在Android应用中还是比较少见的,在iOS中就比较常见了,例如“网易新闻” ,"美食杰" , "转载 2017-05-11 16:24:23 · 361 阅读 · 0 评论 -
Activity切换动画无效(android:windowIsTranslucent)影响(android:windowAnimationStyle)
最近写项目的时候需要用到大量的activity切换动画,于是就用了考虑到了theme中引用style来实现,但是竟然无效,很是郁闷,几经波折,找到了原因,原来是style里面设置了Android:windowIsTranslucent这个属性,代码如下:style name="AppTranslateTheme" parent="AppBaseTheme"> All c转载 2017-05-23 15:59:24 · 1985 阅读 · 0 评论 -
android学习笔记之ImageView的scaleType属性
我们知道,ImageView有一个属性叫做scaleType,它的取值一共有八种,分别是:matrix,fitXY,fitStart,fitCenter,fitEnd,center,centerCrop,centerInside。那我们下面一起来看看这八种取值分别代表什么意思。我用两张图片来做demo,这两张图片的分辨率一大一小,图片分别叫做big和small。原图如下:big:s转载 2017-05-12 17:45:01 · 496 阅读 · 0 评论 -
一款能用易用好用的Android图片轮播轮子
前言Banner功能在Android开发中实在是太常见了,主要用于广告轮播、商品照片轮播等等,如下图:图片轮播今天我来手把手教你如何使用一个能用易用好用的Android图片轮播轮子。目录文章目录1. 实现轮播功能为什么要选择轮子?主要原因是自己实现的话功能实现和性能优化会耗费太多工期,包括;耗费原因1:功能实现常见的Banner的转载 2017-05-12 18:27:20 · 502 阅读 · 1 评论 -
Android 实现FlowLayout流式布局(热门标签)
今天跟大家分享一下FlowLayout,最近项目中有遇到热门标签这个样的布局(文章末尾可下载源码),如下图:一,创建FlowLayout并继承ViewGroupFlowLayout 类主要实现onMeasure,onLayout和generateLayoutParams方法,具体如下看代码注释;public class FlowLayout extends ViewGroup {原创 2020-04-20 17:12:27 · 13202 阅读 · 3 评论 -
Android App 沉浸式状态栏解决方案
伴随着 Android 5.0 发布的 Material Design,让 Android 应用告别了以前的工程师审美,迎来了全新的界面,灵动的交互,也让越来越多的 App 开始遵从 material design 设计原则,不再是以前拿着iOS设计稿,做着Android开发。本文就其中的沉浸式状态栏这一特性,描述其兼容到4.4的实现,以及一些使用中的小细节。建议直接看最新的解决方案: A转载 2017-04-19 16:24:06 · 364 阅读 · 0 评论 -
使用TwinklingRefreshLayout开源框架采坑
使用TwinklingRefreshLayout开源框架采坑: 1.在TwinklingRefreshLayout控件中添加RecyclerView等列表控件不能再添加别的控件(TextView)否则会造成如下的混乱界面(滑动过程)2.如果添加LinearLayout会造成RecyclerView中数据填充不完,只有一个手机的界面的数据,所以在布局中尽量注意,下面代码是我采坑后的成果,如果不添加列原创 2017-04-29 13:44:54 · 4503 阅读 · 1 评论 -
Android自定义dialog从屏幕底部弹出并且充满屏幕宽度
这是XML布局xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:原创 2017-04-29 18:10:52 · 2663 阅读 · 0 评论 -
关于ComponentName的使用
关于ComponentName的使用标签: android开发componentNameactivityservice2015-11-01 15:00 4303人阅读 评论(0)收藏举报本文章已收录于:分类: 管中窥豹(220) 作者同类文章X玩转android(153) 作转载 2017-04-30 18:48:16 · 714 阅读 · 0 评论