
Android学习
openJK-dev
这个作者很懒,什么都没留下…
展开
-
kotlin项目报错误提示Please specify proper '-jvm-target' option
错误提示Cannot inline bytecode buit with JVM target 1.8 into bytecode that is being built with JVM target 1.6.Please specify proper '-jvm-target' option报错原因kotlin代码编译的时候依然是使用的jdk1.6在编译。要想kotlin也用jdk1...原创 2020-05-07 13:43:28 · 596 阅读 · 0 评论 -
Android网络请求遇到not permitted by network security policy问题
从Android9.0开始,Google为了Android的网络安全将不再默认支持Http的请求,所有的请求将需要使用Https,所以当使用大于等于9.0版本时,http的请求将会出现标题中的错误。当然我们如果依然需要使用Http,Google也提供了方法帮我们解决这个问题。方法:1、在res中新建xml文件夹,然后在文件夹中新建名为network_security_config.xml文...原创 2019-10-21 14:18:36 · 702 阅读 · 0 评论 -
Android中使用Socket来实现服务器端和客户端,进行数据通信(使用原生Socket)
1、服务器端的实现服务器端需要通过ServerSocket来创建一个ServerSocket服务对象,然后通过accept()方法Socket对象获得来监听连接上来的客户端(这个方法是阻塞的),最后再对客户端发送过来的字节流进行读取。下面贴出我写的服务器端的代码,供参考: private static int PORT = 54327;//端口号 private static List原创 2016-08-15 09:57:41 · 10317 阅读 · 1 评论 -
Android中关于Bitmap的裁剪缩放和创建
Android 中常常需要对图片进行缩放裁剪等处理,这里简单的介绍一下这两种处理方式的方法1.裁剪/** * Returns an immutable bitmap from the specified subset of the source * bitmap. The new bitmap may be the same object as source, or a cop...原创 2018-03-09 11:27:01 · 7989 阅读 · 0 评论 -
Kotlin学习-基础-数据类型
Kotlin的数据类型有:数字、字符、布尔值、数组和字符串。1、数字kotlin在数字处理上接近于java但是不是完全相同。他提供如下几种内置类型来表示数字:Double、Float、Long、Int、Short、Byte(字符类型在Kotlin中不是数字)1.1字面常量 数值常量有三种:十进制(123,Long类型要加L-123L,Float要加F或者f-123.4f),十六进制(0x0f...原创 2018-06-18 17:05:46 · 289 阅读 · 0 评论 -
Kotlin写一个自定义的菜单控件
首先贴一下效果图思路:菜单控件分两部分,一是点击的子按钮(RecordButton),二是包裹着子按钮的容器(RecordMenu)。子按钮负责显示文字及背景颜色和点击事件,父容器主要控制子控件的位置和动画显示。实现:子按钮,先贴代码class RecordButton : RelativeLayout { /** 控件显示的文本*/ lateinit v...原创 2018-07-26 13:44:59 · 2713 阅读 · 0 评论 -
用Kotlin写一个RecyclerView的自定义分割线
很多时候我们在用RecyclerView时需要用到分割线。有时候图省事就用了一个View布局给他设置个背景色来实现,这样做虽然可以实现分割线的效果,但是这么做是不是有点low了。。。。其实RecyclerView自己就有设置分割线的方法addItemDecoration,通过这个方法我们可以很方便的设置分割线。同时系统还为我们提供了一个分割线的类DividerItemDecoration。...原创 2018-07-27 14:45:12 · 2073 阅读 · 1 评论 -
Android动画中的插值器Interpolator使用
Interpolator的使用在Android中使用属性动画时可以设置插值器,系统为我们提供了几种已经实现了的插值器类。 分别为: - LinearInterpolator 匀速直线运动 - AccelerateDecelerateInterpolator 中间快两头满 - AccelerateInterpolator 开始慢然后快 - AnticipateInterpolator ...原创 2018-08-10 13:32:08 · 1251 阅读 · 0 评论 -
Android开发中使用模版功能快速创建MVP模版文件
在android开发中使用MVP模式进行开发最烦的就是要创建model,presenter,view等等一系列文件。这大大的降低了开发效率,那么有没有方法能够解决这个问题呢?这里不得不感谢AS的伟大,他为我们提供了这一类事插件的功能。在创建Activity的过程中这一张图片大家一定很熟悉当我们点击Empty Activity时给我们创建了一个带XML布局的Activity,并且帮我们在...原创 2018-10-15 15:15:03 · 382 阅读 · 0 评论 -
Android Lifecycles组件(生命周期感知组件)的简单使用
来自google的一段介绍 生命周期感知组件执行操作以响应另一个组件(例如活动和片段)的生命周期状态的更改。这些组件可帮助您生成更易于组织且通常更轻量级的代码,这些代码更易于维护。 一种常见的模式是在活动和片段的生命周期方法中实现依赖组件的操作。但是,这种模式导致代码组织不良以及错误的增加。通过使用生命周期感知组件,您可以将依赖组件的代码移出生命周期方法并移入组件本身。这个...原创 2018-10-19 11:14:39 · 865 阅读 · 0 评论 -
继MVP模版后的第二个模版------Adapter模版
具体内容详见Github https://github.com/ShanDianDev/Adapter-Templete快速创建Adapter模版免去创建布局内部类的烦恼原创 2018-10-19 15:14:35 · 152 阅读 · 0 评论 -
Android密码框显示隐藏密码
//显示密码editText.transformationMethod = PasswordTransformationMethod.getInstance()//隐藏密码editText.transformationMethod = HideReturnsTransformationMethod.getInstance()原创 2019-04-01 13:49:07 · 1461 阅读 · 0 评论 -
Android动态改变shape.xml中图形的颜色
在Android开发过程中我们常遇到将某个图形的颜色改变(例如用圆点的不同颜色来代表不同的状态)像这样的需求,一般我们使用android的shape就可以实现,比如<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"...原创 2019-07-03 14:48:46 · 2515 阅读 · 0 评论 -
Android 弹框没有背景色及背景边框设置
<style name="versionDialogTheme" parent="@android:style/Theme.Holo.Light.Dialog"> <item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 --> <...原创 2019-06-28 10:25:15 · 1112 阅读 · 0 评论 -
Android系统获取应用的Crash信息,保存在本地(可以自己实现上传到自己的服务器)
文章转载自http://www.tuicool.com/articles/FvMRFbuAndroid应用不可避免的都会发生crash,即程序崩溃可能是系统或程序有bug等内部原因,或者是网络状况不佳等外部原因当应用发生crash时,如果只是你一个人使用的应用,那自然容易检测出原因,可是如果应用有广泛的使用者,面对市面上众多的Rom和机型,就需要一个个获取发生crash转载 2016-09-18 11:08:21 · 1653 阅读 · 0 评论 -
Android中使用动画动态添加商品进购物车
1、首先展示下效果图2、讲一下思路,小球由加号位置运动到购物车位置,首先得获得这两个点在整个屏幕中的坐标,然后分别计算这两个点的横纵坐标的差值,再通过TranslateAnimation这个类设置小球在X、Y方向上的偏移量,最后通过AnimationSet这个类将这两个动画放在一起执行。这是小球运动的动画,还有就是购物车变大缩小的动画。这个动画通过ObjectAnimator的ofFl原创 2016-08-02 13:56:20 · 2679 阅读 · 1 评论 -
Android学习第三天————ListView组件
ListView是将内容以列表的形式显示出来,它能够自适应内容的长度一、下面是通过XML文件创建一个ListView<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height原创 2015-12-09 19:18:31 · 344 阅读 · 0 评论 -
Android学习第四天————ListView用BaseAdapter适配器来填充数据
一、BastAdapter适配器获得数据,用来填充ListView组件1、通过XML文件来创建ListView组件示例代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and原创 2015-12-10 18:19:06 · 938 阅读 · 1 评论 -
Android学习第四天————GridView组件
GridView类似于ListView,不过它可以一列显示多个组件一、GridView的常用属性<GridView android:id="@+id/gridview" android:layout_width="wrap_content" android:layout_height="wrap_content" andro原创 2015-12-11 18:03:15 · 327 阅读 · 0 评论 -
Android学习第四天————AutoCompleteTextView自填充文本框
AutoCompleteTextView自填充文本提示框AutoCompleteTextView是一个需要通过适配器来填充数据的组件,它有两种方式来添加数据(一种是是同XML来添加,另一种是通过适配器来填充数据)1、适配器来添加数据通过ArrayAdapter来绑定数据其中第二个参数是数据显示的格式,第三个参数是表示需要显示的数据。最后把适配器给AutoCompleteTextVi原创 2015-12-11 18:14:25 · 478 阅读 · 0 评论 -
Android学习第五天————Spinner下拉列表组件
Spinner下拉列表组件用来绑定数据,供用户选择它有两种方式来绑定数据,一种是通过XML文件来绑定,一种是通过适配器来绑定1、通过XML文件来绑定数据创建Spinner组件<Spinner android:id="@+id/myspinner" android:layout_width="wrap_content" android:layou原创 2015-12-11 18:27:03 · 410 阅读 · 0 评论 -
Android学习第五天————ExpandableListView组件通过适配器BaseExpandableListAdapter实现两层列表项
ExpandableListView是对ListView的扩展,实现了当点击列表项时弹出下一层的列表项同时它必须要通过相对应的适配器来实现数据的绑定1、首先在布局文件中创建好组件<ExpandableListView android:id="@+id/extendview" android:layout_width="wrap_content"原创 2015-12-11 18:37:11 · 703 阅读 · 0 评论 -
Android学习第五天————AdapterViewFlipper组件
AdapterViewFlipper用来实现显示上一个组件,或显示下一个组件,或者自动播放组件AdapterViewFlipper也是一个需要适配器来填充数据的组件首先创建一个AdapterViewFlipper组件,同时添加几个按钮来实现显示上一个或下一个或自动播放的功能<LinearLayout xmlns:android="http://schemas.android.com原创 2015-12-11 18:55:09 · 376 阅读 · 0 评论 -
Android学习第六天————android中数据存储的五种方式
数据的存取1、通过键值对的形式来存读数据SharedPreferences存储共享变量的文件路径位于“/data/data/应用程序包/shared_prefs”目录下获取SharedPreferences的两种方式:1 调用Context对象的getSharedPreferences()方法2 调用Activity对象的getPreferences()方法两种方式的区别:原创 2015-12-14 19:25:51 · 420 阅读 · 0 评论 -
Android学习第七天————通过android提供的XmlPullParserFactory解析XML文件
示例代码XML文件小王22小李23萧晨24public class XmlUnil { private InputStream input; public XmlUnil(InputStream input){ this.input=input; } public List parse(){ XmlPullParserFactory factory=null;原创 2015-12-15 18:08:35 · 1395 阅读 · 0 评论 -
Android学习第七天————将数据保存为JSON格式,通过JSONObject和JSONReader来解析JSON数据
一、将数据保存为JSON格式//将数据用JSON写入文本 public void jsonwrite() { // 创建一组姓名数据 String[] nameArr = new String[] { "小李", "萧晨", "小张", "小王" }; // 创建一组年龄数据 int[] ageArr = new int[] { 23, 24, 22, 25 }; //原创 2015-12-15 18:15:25 · 967 阅读 · 0 评论 -
Android中实现横屏竖屏的切换
Android中横屏竖屏的切换Configuration configuration =getResources().getConfiguration();//获取系统的配置信息 int orientation=configuration.orientation;//获取当前屏幕的横竖屏信息 if(orientation==Configuration.ORIENT原创 2015-12-09 20:34:19 · 647 阅读 · 0 评论 -
Android学习第二天------布局方式(相对布局、网格布局、绝对布局)
一、相对布局(RelativeLayout)相对布局指的是,组件的位置相对于父容器或兄弟组件的位置而定。XML文件控制下面的代码表示创建五个按钮分别放置四角和中心<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pare原创 2015-12-09 18:32:21 · 487 阅读 · 0 评论 -
解决android中点击对话框外部,对话框消失的问题
常会有这样的需求当点击对话框的外部时,不让对话框消失。AlertDialog.Builder alert = new AlertDialog.Builder(context, R.style.AlertDialogCustom) .setTitle(context.getString(R.string.undo_title)) .se原创 2016-07-04 14:48:20 · 2464 阅读 · 0 评论 -
android中当editText设置了值之后,让游标跑到值的后面
et_note_content.setSelection(et_note_content.getText().length());原创 2016-07-04 16:27:43 · 376 阅读 · 0 评论 -
Android学习第一天————布局方式(线性布局、表格布局、图层布局)
一、线性布局(LinearLayout)线性布局不会换行,当组件一个一个排列到头时,剩下的组件不会被显示XML文件控制(一些重要属性)android:orientation="vertical/horizontal"垂直/水平android:gravity="center_horizontal"组件中的元素相对于组件的位置android:layout_gravity="center原创 2015-12-09 17:49:16 · 1030 阅读 · 0 评论