
Android基础
Android基础
安果移不动
精通Android,Swift,Flutter,Python,Php,按键精灵,易语言。曾为华为录制精品课程,拥有资质:按键精灵顶级证书;
产品秀:https://www.anguomob.com
B站:https://space.bilibili.com/482453235
展开
-
org.json.JSONArray转换为int数组
首先,org.json.JSONArray转换为数组这一需求相信很多人是遇不到的,我也是脑抽了才有这个需求,先讲一下为啥我会有这个需求吧;我在写java后台,前后台数据传输用的json格式,前台传给后台的一个参数值的格式是数组,后台取到的数据格式就是JSONArray ,然后我需要这个数组为参数使用mybatis进行数据库查询,因为是第一次写,就直接把查询条件的参数写成了数组,然后又懒得改(其...原创 2019-03-05 17:56:36 · 9159 阅读 · 2 评论 -
Build相关属性和调用系统信息的方法
Build相关属性和调用系统信息的方法一、Build类的作用主要是获取系统信息,他有两个嵌套类: Build.BOARD // 主板 Build.BRAND // Android系统定制商 Build.CPU_ABI // cpu指令集 Build.DEVICE // 设备参数 Build.DISPLAY // 显示屏参数 Buil...原创 2018-07-03 14:43:56 · 491 阅读 · 0 评论 -
Android开发 获取屏幕宽高及尺寸的方法
// 通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); System.out.println("width-display :" + dm.widthPixels);...原创 2018-04-21 01:59:23 · 2083 阅读 · 0 评论 -
[Android] 一种粗暴快速的 Android 全屏幕适配方案
1 现状由于Android碎片化严重,屏幕适配一直是开发中较为头疼的问题。面对市面上五花八门的屏幕大小与分辨率,Android基于dp与res目录名称来适配的方案已无法满足一次编写全屏幕适配的需求,为了达到最优的视觉效果,开发过程中总是需要花费较多资源进行适配。也有开发者给出了一些自己的解决方案。首先来分析一下一些常见的解决方案的现状:官方适配方案dp。dp是Android原创 2018-02-26 00:07:36 · 1059 阅读 · 0 评论 -
Android之ListView详解
前文ListView作为Android最常用的控件之一,同时也是最难的控件之一,其难点主要在意用法的多变性,因此让众多的初学者都比较难掌握,包括我自己,也是在反复需要使用时,总会卡住.而在网上找了众多的ListView的实例,案例等,讲解得不尽人意,甚至让许多初学者有迷惑.所以才觉得写此文,将包括ListView的用法,具体的注解,详解以及方案,希望能帮到需要的人,若有不正之处还请指正,谢谢原创 2018-02-26 00:04:40 · 549 阅读 · 0 评论 -
基础总结篇之三:Activity的task相关
古人學問無遺力,少壯工夫老始成。紙上得來終覺淺,絕知此事要躬行。南宋.陸遊《冬夜讀書示子聿(yù)》软件行业也是一样,多少前辈不遗余力的奋斗才出现了软件行业的繁荣的景象,其中已有不少成为大师级人物。今天我们站在伟人的肩膀上,自然会有不少的优势,但不要忘了,要在对技术的认知方面有所提升,仍需我们去实践,去实践。今天我们来讲一下Activity的task相关内容。上次我们讲到Activity的四种启动...原创 2018-02-09 16:07:16 · 301 阅读 · 0 评论 -
基础总结篇之一:Activity生命周期
子曰:溫故而知新,可以為師矣。《論語》学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓。近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下。熟悉javaEE的朋友们都了解servlet技术,我们想要实现...原创 2018-02-09 16:04:05 · 267 阅读 · 0 评论 -
基础总结篇之二:Activity的四种launchMode
合抱之木,生於毫末;九層之台,起於累土;千里之行,始於足下。《老子》今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些。作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行。成大事者,须从小事做起;万事起于忽微,量变引起质变。我们今天要讲的是Activity的四种launchMode。launchMode...原创 2018-02-09 16:02:52 · 271 阅读 · 0 评论 -
Android的onCreateOptionsMenu()创建菜单Menu详解
http://www.tuicool.com/articles/VrUBRfAndroid一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜单(subMenu) 其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来。 1原创 2018-02-08 17:24:30 · 914 阅读 · 0 评论 -
Android资源那些事儿(详)
Android资源那些事儿本文将要着重讲解的Android资源大致可以分为三类:1. values资源string 字符串资源color 颜色资源dimen 尺寸资源array 数组资源style 样式资源theme 主题资源2. drawable资源图片资源StateListDrawable资源LayerDrawable资源ShapeDrawable资源ClipDrawable资源3.Color...原创 2018-02-08 15:52:34 · 431 阅读 · 0 评论 -
android 显示当前时间(EEEE)显示星期几
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E",Locale.国家代码); 这样就可以了,注意以上代码中: 一个E是缩写,要完全形式的话4个E就好了 如"yyyy年MM月dd日 EEEE"。 这样就可以了,注意以上代码中: 一个E是缩写,要完全形式的话4个E就好了 如"yyyy年MM月dd日 EE...原创 2017-11-08 20:09:29 · 3470 阅读 · 0 评论 -
Android基础:API对应的版本号
Android版本号名称APIAndroid英文名称中文名称11.0 发条机器人21.1––31.5Cupcake纸杯蛋糕41.6Donut甜甜圈52.0E原创 2017-07-24 18:41:08 · 482 阅读 · 0 评论 -
Android UI之最优ListView写法
1、ListView的一个经典实现动态增加、删除行的例子实现。2、Listview优化策略?1)convetView进行判空,为空时加载布局,不为空时直接重新使用 convertView,减少了布局的加载。(效率提高200%) 2)定义ViewHolder,传入ViewHolder对象给convetView设置tag,用于缓存控件。(效率再提高50%) 3)当ListVi原创 2017-07-05 11:43:07 · 397 阅读 · 0 评论 -
静态/动态注册广播的区别
广播接收器注册一共有两种形式 : 静态注册和动态注册.两者及其接收广播的区别:1.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。 静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。 2.当广播为有序广播时:原创 2017-07-04 10:46:54 · 388 阅读 · 0 评论 -
getCacheDir()和getFilesDir()方法区别.
Activity提供了getCacheDir()和getFilesDir()方法:getCacheDir()方法用于获取/data/data//cache目录getFilesDir()方法用于获取/data/data//files目录//==================================================将文件写入SD卡内:获取SDCard的原创 2017-06-12 10:08:44 · 361 阅读 · 0 评论 -
Android基础入门教程——2.3.8 SeekBar(拖动条)
本节引言:本节我们继续来学习Android的基本UI控件中的拖动条——SeekBar,相信大家对他并不陌生,最常见的 地方就是音乐播放器或者视频播放器了,音量控制或者播放进度控制,都用到了这个SeekBar,我们 先来看看SeekBar的类结构,来到官方文档:SeekBar嘿嘿,这玩意是ProgressBar的子类耶,也就是ProgressBar的属性都可以用咯原创 2017-06-06 17:37:37 · 731 阅读 · 0 评论 -
edit限制输入身份证号
edittext加如下属性 android:digits="0123456789xX"原创 2017-04-04 11:19:29 · 1907 阅读 · 0 评论 -
listview的adapter中getview的三种写法
说明:以下三个例子代码摘自google 2010 I/O大会getview的加载方法一般有以下三种种方式:最慢的加载方式是每一次都重新定义一个View载入布局,再加载数据public View getView(int position, View convertView, ViewGroup parent) { View item = mInflater.inf原创 2017-03-13 11:20:02 · 1181 阅读 · 0 评论 -
Android如何设置TextView的行间距、行高。
Android系统中TextView默认行间距比较窄,不美观。 我们可以设置每行的行间距,可以通过属性android:lineSpacingExtra或android:lineSpacingMultiplier来做。在你要设置的TextView中加入如下代码:1、android:lineSpacingExtra 设置行间距,如”8dp”。2、android原创 2017-02-28 19:16:08 · 492 阅读 · 0 评论 -
viewpager的简单使用1
首先让大家有个全局的认识,直接上个项目,看看仅仅通过这几行代码,竟然就能完成如此强悍的功能。下篇再结合API仔细讲讲为什么要这么写。效果图:实现了三个view间的相互滑动 第一个VIEW向第二个VIEW滑动 第二个VIEW向第三个VIEW滑动 一、新建项目,引入ViewPager控件View原创 2017-02-19 19:08:57 · 354 阅读 · 0 评论 -
aidl
1、为什么要有AIDL?无论学什么东西,最先得弄明白为什么要有这个东西,不要说存在即是合理,存在肯定合理,但是你还是没有明白。对于AIDL有一些人的浅显概念就是,AIDL可以跨进程访问其他应用程序,和其他应用程序通讯,那我告诉你,很多技术都可以访问,如广播(应用A在AndroidManifest.xml中注册指定Action的广播)应用B发送指定Action的广播,A就能收到信息,这样也能看成原创 2017-02-12 17:52:44 · 349 阅读 · 0 评论 -
Activity怎么和service绑定,怎么在activity中启动自己对应的service
1. Activity通过bindService(Intent service, ServiceConnection conn, int flags)跟Service进行绑定。 2. 绑定成功以后,Service会将代理对象通过回调的形式传递给MyServiceConnection,这样我们就获取Service提供的代理对象原创 2017-02-05 20:29:23 · 4893 阅读 · 0 评论 -
Service的生命周期
一种方式: 被开启的service通过其他组件调用startService()被创建。 这种service可以无限地运行下去,必须调用stopSelf()方法或者其他组件调用stopService()方法来停止它。 当service被停止时,系统会销毁它。 另外一种: 被绑定的service是当其他组件(一个activity)调用bindServi原创 2017-02-05 20:26:23 · 435 阅读 · 0 评论 -
IntentService和Service的区别?
从两方面描述:第一:简单描述一下Service Service是用于后台服务的,当应用程序被挂到后台的时候,问了保证应用某些组件仍然可以工作而引入了Service这个概念。那么这里面要强调的是Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,也就是说,在更多时候不建议在Service中编写耗时的逻辑和操作,否则会引起ANR,为了解决这样的问题,引入了In原创 2017-02-05 20:23:31 · 4875 阅读 · 0 评论 -
后台的activity被系统自动回收的话,怎么在回到界面的时候恢复数据
Activity的状态通常情况下系统会自动保存的,只有当我们需要保存额外的数据时才需要使用到这样的功能。 通常情况: 调用onPause()和onStop()方法后的activity实例仍然存在于内存中, activity的所有信息和状态数据不会消失,当activity重新回到前台之后,所有的改变都会得到保留。 异常情况: 但是当系统内存不足时, 调用onP原创 2017-02-05 20:14:36 · 2841 阅读 · 3 评论 -
横竖屏切换的时候 接下来会发生生么
答 有三种情况 第一种不在清单文件的activity中设置configChanges时切屏幕的话会重新调用各个生命周期 切横屏时会执行一次,切竖屏时会执行两次第二种情况设置Activity的configChanges="orientation" 切换屏幕只会执行一次第三种情况configChanges="orientation|keyboardHidden" 切屏不会重新调原创 2017-02-05 20:12:00 · 517 阅读 · 0 评论 -
如何退出Activity?如何安全退出已调用多个Activity的Application?
public class AcitivityCollector{public static List activities =new ArrauList<>();public static void addActivity(Activity activity){ activities .add(activity);}public static void removeActivi原创 2017-02-05 20:10:42 · 434 阅读 · 0 评论 -
两个activity之间跳转会执行那几个方法
首先我们要知道activity的生命周期有onCreateonDestoryonStartonStoponRestartonPauseonResume如果从a跳转到b界面a 会调用onPause()b 调用 onCreate() onStart(),onResume();这个时候b覆盖了窗体a会执行onStop方法如果b原创 2017-02-05 20:05:00 · 2833 阅读 · 0 评论 -
数据的五种存储方式
1 SharedPreferences存储数据代码 调用了封装代码在http://blog.csdn.net/mp624183768/article/details/54864466 //保存值 PreferenceUtils.putBoolean(this,"key",false); //取出 默认为ture Prefe原创 2017-02-04 19:07:21 · 2506 阅读 · 0 评论