- 博客(79)
- 收藏
- 关注
转载 安卓混合开发
** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的JavaScript进行交互,Android也对交互做了很好的封装,所以很容易实现例如:点击网页中的按钮Android调用原生对话框,点击网页中的电话号码调用Android拨号APP。这篇给大家介绍下如何实...
2018-02-27 23:17:46
449
转载 Android外部存储与内部存储完全解析
转载一、存储概述Android提供了几种保存application持久化数据的选择。而开发者根据数据是否为app私有数据是否可以暴露给其他app数据大小情况来选择不同的方式存储数据。1.1 存储方式安卓提供了如下存储的方式选择:类别作用Shared Preferences以键值对形式在xml中存储配置Internal Storage (内部存储)设备
2018-01-19 01:26:31
1284
转载 如何在Android7.0系统下通过Intent安装apk
如何在Android7.0系统下通过Intent安装apkAndroid系统升级到7.0之后,安全性提高了不少,过去我们通常是使用这样的代码进行apk的安装操作。123Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(ap
2017-11-25 01:20:26
384
原创 ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
开发中常常需要自己定义Listview,去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。如果你的自定义ListViewItem中有Button、ImageButton或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus
2017-11-22 19:50:18
755
原创 CoordinatorLayout 的属性
AppBarLayout:是继承LinerLayout实现的一个ViewGroup容器组件,它是为了Material Design设计的App Bar,支持手势滑动操作。默认的AppBarLayout是垂直方向的,它的作用是把AppBarLayout包裹的内容都作为AppBar。属性:app:layout_scrollFlags="scroll|enterAlw
2017-11-10 21:29:48
442
原创 Android中Shape的属性说明
shape是常用的通过XML绘制简单形状的方法,一般可用于控件的背景,如按钮或者文本框背景,也经常用于布局的背景,其用法不难但是功能作用却很强大。在开发的过程中有时会突然忘记了属性,因此在这就记录一下,方便以后查看也省的专门为了某个属性而再去搜索。下面属性中的integer或者float都仅仅代表数值。为此也简单写了四个例子说明下,各个图形中的有些属性并不是必须的,只是为了展示属性的具体效果。
2017-11-04 17:35:12
233
转载 ListView中的getChildAt的注意事项
在实际开发中,我们可能需要单独修改ListView中的某一个view的内容,如果使用适配器上的notifyDataSetChanged()方法的话会显得有些多余,而且会导致用户体验差,这时候可以使用getChildAt(int)方法单独获取某个view进行修改。但是注意,这个方法如果使用不当的话很容易出现空指针异常。首先先来看看方法的注释说明:View android.view
2017-10-28 23:41:12
549
转载 Android关于ListView中的getItemViewType与getViewTypeCount
Android中对于ListView自定义的时候,经常会有这样一种需求:在同一个ListView中显示不同的两种或者两种以上的条目。比如:一种条目是只显示一个TextView,而另一种条目时显示一个TextView加上一个ImageView,这种需求很常见。在实现这种效果的时候,我们就会用到题目中提到的两个函数,getItemViewType与getViewTypeCount。那么,这两个
2017-10-28 13:15:56
706
原创 Fragment 使用hide和show,使用onHiddenChanged代替执行生命周期
fragment是我们经常使用到的一个控件,但是,相信大家会出现这样的一个问题,每次切换fragment的时候之前我们一直都是这样写的代码:/** * 根据传入的参数来改变当前的fragment * * @param fragment */ private void showFragment(Fragment fragment) {
2017-10-27 01:48:43
628
原创 关于android:layout_weight的含义
android:layout_weight的真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比!设屏幕宽度为L,在两个view的宽度都为match_parent的情况下,原有宽度为L,两个的View的宽度都为L,那么剩余宽度为L-(L+L) = -L, 左边的View占比三分之一,所以总宽度
2017-10-22 16:02:57
266
原创 app退出到登录注册界面,点击返回键不返回前一界面
app退出到登录注册界面,点击返回键不返回前一界面Intent it = new Intent(activity, RegisterActivity.class);it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);startActivity(it);
2017-10-14 20:46:35
2502
原创 Glide加载图片框架(仅获取BitMap)
1.Simple Target拿到图片的BitMap对象,不直接加载至ImageView 中(Simple Target) Glide into(),不仅可以传入ImageView 控件,还可传入 Targets() { @Override public void onResourceReady(Bitmap bitmap, GlideAnimation
2017-09-29 02:05:45
16145
1
转载 Android 购物车页面和逻辑实现
距离上次写第一篇博客已经好久了,今天正好有时间就来写一篇关于最近在做的项目中的一个功能 购物车! 我这个购物车业务逻辑还算可以吧,不算太难,但由于我是第一次做,所以也碰到了很多细节上的问题...所以我想总结下来,方便以后学习和使用..好了先看看效果吧!目前我做的功能除了结算就这些了...下面开始来看代码Activity界面是这样的
2017-09-28 02:24:26
5636
2
转载 FragmentTransaction管理的Fragment生命周期状态
在Android中,对Fragment的操作都是通过FragmentTransaction来执行的。而如果从Fragment的结果来看,FragmentTransaction中对Fragment的操作大致可以分为两类:1、显示操作:add()、 replace()、 show()、 attach()2、隐藏操作:remove() 、hide() 、detach()对于每一组
2017-09-26 00:26:08
368
原创 解决ViewPager+Fragment启动页面卡顿
这两天做了个启动页使用的是ViewPager+Fragment,结果在demo中滑动正常动画正常,但是在项目中卡的不要不要的。关于优化这两个东西的一些资料我查找了很多,但是能考虑到的优化情况我都做了处理,还是卡的不要不要的。最后发现问题在于,我把资源文件全部放在了drawable文件夹中,并且没有做分辨率分类文件夹。这样的话在安卓5.0以上的系统中,由于系统渲染使用了新机制,导致了卡顿
2017-09-21 01:05:32
1455
转载 Android中WebViewClient与WebChromClient两个类区别
WebViewClient类与WebChromClient两个类在android开发的过程中,主要是在使用WebView这个组件的时候,可能会使用到。那么这两个类到底有什么不同之处呢?WebViewClient 这个类主要帮助WebView处理各种通知、请求时间的,比如:onLoadResourceonPageStartonPageFinis
2017-09-20 02:53:21
595
原创 Android ToolBar 使用
ToolBar简介ToolBar是Android 5.0推出的一个新的导航控件用于取代之前的ActionBar,由于其高度的可定制性、灵活性、具有Material Design风格等优点,越来越多的应用也用上了ToolBar,比如常用的知乎软件其顶部导航栏正是使用ToolBar。官方考虑到仍有一部分用户的手机版本号低于5.0,所以,ToolBar也放进了support v7包内,使得低版本
2017-09-20 00:07:28
1108
转载 xml动画的开发
引言当今,Android、IOS二分天下,什么Tizen、COS blabla的均为蝼蚁,一看就知道是为打发领导或为花研发资金产出的产品,根本不是为了赢得市场,为的只是博得领导一笑而已,完全可以忽视。而Android开发又因为开发语言以Java为主,入门门槛极低导致基本上是个程序员,泡两天EOE,或Android Developer Training都可以过来说“哥会开发And
2017-09-18 02:04:46
451
转载 j2EE 部分
1.Switch能否用string做参数?在 Java 7 之前, switch 只能支持 byte 、 short 、 char 、 int 或者其对应的封装类以及 Enum 类型。在 Java 7 中, String 支持被加上了。 2. equals与==的区别:==是判断两个变量或实例是不是指向同一个内存空间 equals是判断两个变量或实例所指向的内存空间的值是不是相
2017-09-16 22:28:58
256
转载 线程池
1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? `new Thread(new Runnable() {@Overridepublic void run() { // TODO Auto-generated method stub}}).start();` 这样子做会带来很多不良之处 a. 每次new Thread新建
2017-09-16 22:22:07
201
原创 Android 基础复习
Activity 系列问题 1.1 绘制Activity生命周期流程图 1.2 介绍下不同场景下Activity生命周期的变化过程启动Activity: onCreate()—>onStart()—>onResume(),Activity进入运行状态。 Activity退居后台: 当前Activity转到新的Activity界面或按Home键回到主屏: onPause(
2017-09-16 22:17:27
367
转载 使用TextInputLayout创建一个登陆界面
在Google I/O 2015期间,安卓团队发布了一个崭新的兼容库,Design Support Library。它简直就是为解决这个问题而生的。本教程将演示如何使用Design Support Library中的TextInputLayout控件。1. 实现 TextInputLayout第一步: 创建一个新的项目在Android Studio中 选择New > New
2017-09-16 22:06:45
261
转载 TabLayout
Tabs选项卡,效果类似网易新闻客户端的Tab。其实实现Tabs选项卡的效果有很多中方法,Github上也有很多好用的开源控件,只是这次谷歌把它官方化了,使得开发者无需引用第三方库,就能方便的使用。ps以下效果是TabLayout结合ViewPager、Fragment实现的!效果图:先来看一些TabLayout常用的属性: - app:tabSelectedT
2017-09-16 16:10:52
195
转载 Gsonformat工具类
Gsonformat形成bean导入Gson把数据放到Bean中这里告诉大家个最简单的方法,这也是我从万千文章当中找出来的,但是我已经找不到他的地址了直接贴代码(工具类)public abstract class Json { private static Json json; Js
2017-09-14 23:48:28
240
原创 HttpLoggingInterceptor的用法简介
该拦截器用于记录应用中的网络请求的信息。示例OkHttpClient client = new OkHttpClient();HttpLoggingInterceptor logging = new HttpLoggingInterceptor();logging.setLevel(Level.BASIC);client.interceptors().add(loggin
2017-09-14 21:23:23
4303
转载 网络基础
各层网络协议相关1、OSI,TCP/IP,五层协议的体系结构OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层TCP/IP分层(4层):网络接口层(连接层)、 网络层、传输层、 应用层五层协议 (5层):物理层、数据链路层、网络层、传输层、 应用层TCP/IP口诀:从网络接口(层)获取数据时,需经过网络(层)访问,传输(层)到我们的应用(层
2017-09-13 19:43:57
229
转载 android面试题
JAVA1.GC是什么? 为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。2.XML包括哪些解释技术,区别是什么?D
2017-09-13 01:47:58
291
原创 对OOP思想及基本设计原则的理解
OO方法OO方法(Object-Oriented Method,面向对象方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在“对象”概念基础上的方法学。再分为OOA、OOD、OOP。OOA(Object-Oriented Analysis,面向对象分析)面向对象分析是从确定需求或者业务的角度,按照面向对象的思想来分析业务。
2017-09-12 10:27:19
814
原创 Glide的简单封装GlideUtils
Glide的封装1.默认加载public static void loadImageView(Context mContext, String path, ImageView mImageView) { Glide.with(mContext).load(path).into(mImageView); }1232.加载指定大小public static void loadIm
2017-09-08 02:12:37
855
原创 日期常用工具类
一个日期常用工具类,比较常用的一些时间转换,年龄计算。留下来备用public dataUtils.class { /** * 将时间戳转换为时间字符串 */ public static String formatData(String dataFormat, long timeStamp) { if (timeStamp == 0) {
2017-09-04 02:23:11
308
原创 raw和assets目录的区别
*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.Java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。 2.re
2017-09-04 00:15:07
340
原创 JSONObject与JSONArray的使用
1. 创建一个JSONObject对象: package com.yunos.tv.video.resource.controller.web;import java.util.ArrayList;import java.util.HashMap;import net.sf.json.JSONArray;import net.sf.json.JSONObject;pu
2017-09-02 19:35:20
287
原创 Dialog里加ViewPager
public class MyDialog1 extends AlertDialog { private final int index; private ImageView img; private ViewPager m_viewPager; LinearLayout ll_point; private Context mContext; in
2017-07-26 01:53:41
2550
原创 Cursor的moveToNext和moveToFirst
查询得到的cursor是指向第一条记录之前的,因此查询得到cursor后第一次调用moveToFirst或moveToNext都可以将cursor移动到第一条记录上。源码中这些moveXXX其实都是通过moveToPosition来实现的,而记录position的是一个整型变量mPos。当moveXXXX返回false的时候,mPos会被置为-1,也就是回到了初始状态,指向第一条记录之前。
2017-06-14 23:33:27
495
原创 view对象的渲染步骤
*view对象在窗体上渲染出来不是在oncreate方法执行的时候就渲染出来//view对象被显示到界面上,//需要经历两个阶段 1,测量(计算) 2,渲染RelativeLayout.LayoutParams parms = (LayoutParams) iv_dragview.getLayoutParams();parms.topMargin = lasty;parm
2017-06-13 22:47:44
446
原创 采用代码注册广播接收者
private class InnerReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {}}//代码的方式注册广播接收者receiver = new InnerReceiver();IntentFilter filt
2017-06-12 22:23:09
323
原创 正则表达式(网页爬虫)
/*网页爬虫(蜘蛛)*/import java.io.*;import java.util.regex.*;import java.net.*;class RegexTest2 {public static void main(String[] args) throws Exception{//getMails();getMails_1();}p
2017-04-10 00:00:22
289
原创 正则表达式练习
/*需求:将下列字符串改成:我要学编程思路方式:1,如果只想知道该字符是否对是错,使用匹配2,想要将已有的字符串变成另外一个字符串,替换3,想要按照自定的方式将字符串变成多个字符串,切割,获取规则以外子串4,想要拿到符合需求的字符串子串,获取,获取符合规则的子串*/import java.util.*;class RegexTest{public
2017-04-09 23:59:37
246
原创 正则表达式功能2
/*正则表达式:符合一定规则的表达式。作用:用于专门操作字符串。特点:用于一些特定的符号来表示一些代码操作。这样就简化书写所以学习正则表达式,就是在学习一些特殊符号的使用。好处:可以简化对字符串的复杂操作弊端;符号定义越多,正则越长,阅读性越差具体操作功能:1,匹配:String matches方法。用规则匹配整个字符串,只要有一处不符合
2017-04-09 23:58:43
204
原创 正则表达式功能1
/*正则表达式:符合一定规则的表达式。作用:用于专门操作字符串。特点:用于一些特定的符号来表示一些代码操作。这样就简化书写所以学习正则表达式,就是在学习一些特殊符号的使用。好处:可以简化对字符串的复杂操作弊端;符号定义越多,正则越长,阅读性越差具体操作功能:1,匹配:String matches方法。用规则匹配整个字符串,只要有一处不符合
2017-04-09 23:57:07
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人