
Android基础
文章平均质量分 79
zdmxhyy
致力于Android手机应用的开发
展开
-
Android数据库LitePal的基本使用
前言:LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表和増删改查的操作。1.首先app/build.gradle添加依赖implementation 'org.litepal.android:java:3.0.0'2.配置初始化LitePal(1).AndroidManifest清单文件中添加<manifest> <appli..原创 2021-02-21 18:20:43 · 332 阅读 · 0 评论 -
Android面试基础之android10.0特性与对研发人员的影响?
一、可折叠设备、5G网络提速、全手势导航、保护用户隐私,给用户更多的权限控制,提升安全性二、影响1.存储权限为了管理文件夹混乱问题,androidQ在外部存储设备中为每个应用提供了一个“隔离存储沙盒”。任何其他应用都无法直接访问您应用的沙盒文件。文件是应用的私有文件,因此不再需要任何权限即可在外部存储设备中访问和保存自己的文件。此变更让研发人员更轻松地保证用户文件的隐私性,并有助于减少应用所需的权限数量。注意:沙盒 简单而言就是应用专属文件夹,并且本应用访问这个文件无需权限 文原创 2020-05-19 17:46:30 · 220 阅读 · 0 评论 -
Fragment:判断是否显示当前Fragment
Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与Activity相同,和ViewPager搭配使用这个方法就很鸡肋了,根本不是你想要的效果,这里介绍一种方法。//在Fragment显示出来调用的方法 public void setUserVisibleHint(boolean isVisibleToUs原创 2016-08-31 10:34:23 · 7956 阅读 · 0 评论 -
Collections.sort方法对list进行排序
Collections.sort( )分为两部分,一部分为排序规则,一部分为排序算法 。规则用来判断对象,算法则考虑如何进行排序对于自定义对象,sort()不知道规则,所以无法比较,这种情况下一定要定义排序规则。方式有两种:第一种,java.lang下面的一个接口:Comparable。可以让自定义对象实现一个Comparable接口,这个接口只有一个方法comparabl原创 2016-08-03 09:35:55 · 516 阅读 · 0 评论 -
图片压缩的三种方法?
android 图片压缩方法:第一:质量压缩法:复制代码代码如下:private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.原创 2016-08-03 16:06:28 · 927 阅读 · 0 评论 -
Android图片压缩,质量压缩和尺寸压缩两种
在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手机拍照都能达到3M左右了,尺寸压缩一般可用于生成缩略图。两种方法都实装在了我的项目中,结果却发现在质量压缩的模块中,本来1.9M的图片压缩后反而变成3M多了,很是奇怪,再做了进一步调查终于知道原因转载 2016-08-03 14:33:14 · 539 阅读 · 0 评论 -
Android activity组件
详解 Android 的 Activity 组件博客分类: AndroidAndroidSchemeXML配置管理游戏 本文章已收录于: Androidhttp://www.ibm.com/developerworks/cn/opensource/os-cn-android-actvt/index.html?ca=drs-cn-0122转载 2016-04-19 17:13:59 · 415 阅读 · 0 评论 -
Android广播BroadcastReceiver
Android广播BroadcastReceiver Android 系统里定义了各种各样的广播,如电池的使用状态,电话的接收和短信的接收,开机启动都会产生一个广播。当然用户也可以自定义自己的广播。既然说到广播,那么必定有一个广播发送者,以及广播接收器。系统广播的发送者为系统,自定义广播当然是用户定义的了。我们可以定义一个广播接收器,用来接收我们感兴趣的广播,不论是系统原创 2016-04-19 16:58:34 · 1489 阅读 · 1 评论 -
android 中webView与Activity之间的交互
项目中遇到需要webview与activity的交互,于是去baidu上google了一下。发现了如下方法:一、webview中运用js调用activity方法1、启用jsWebView.getSettings().setJavaScriptEnabled(true);2、绑定javascriptInterfaceWebView.addJ原创 2016-04-19 16:53:32 · 4562 阅读 · 0 评论 -
Android 发表说说一般用到的界面布局
OK, 看到这里应该明白我标题的意思了吧.哈哈.首先, 来个布局(activity_select_pic.xml)?1234567891011121314151617181920212原创 2016-01-12 16:56:46 · 2662 阅读 · 0 评论 -
Android中颜色
1.....android 中所有的颜色代码 #ffffff #fffff0 #ffffe0 #ffff00 #fffafa #fffaf0 #fffacd #fff8dc #fff5ee #fff0f5 #ffefd5 #ffebcd #ffe4e1 #ffe4c4 #ffe4b5 #ffdead #ffdab9原创 2015-08-28 12:37:47 · 446 阅读 · 0 评论 -
Android中的Shape使用,了解一下Shape下面有哪些标签,都代表什么意思?
solid:填充android:color指定填充的颜色gradient:渐变android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:ty原创 2016-08-03 09:47:08 · 1884 阅读 · 0 评论 -
Android selector属性
我们在定义一个drawable的时候可以通过xml定义的drawable对象。它使得一个图片能在不同的状态下显示不同的图案,比如一个Button,它有pressed,focused,或者其它状态,通过使用state list drawable,你就可以为每种状态提供不同的图片。1. 先看一个范例:XML file saved at res/drawable/butt原创 2016-08-03 10:36:39 · 406 阅读 · 0 评论 -
Android中解决在ListView历史复用中Edittext数据显示混乱
如果一个ListView里面有多套布局(单个布局也行)的可以参考这个帖子:http://blog.youkuaiyun.com/fan7983377/article/details/54380588 有这么一个需求,就是在ListView中,每个条目都有Edittext,需要把每个Edittext输入的数据保存到对应的bean中,想要的效果是这样的: 这样一看,也没什么难转载 2017-04-10 15:50:29 · 1002 阅读 · 0 评论 -
Android数据库框架greenDao3.2.0功能应用
上一篇文章我们学习GreenDao集成 这一篇我们来学习GreenDao的使用1.0一般建议在Application中初始化数据库public class BaseApplication extends Application { private static DaoSession daoSession; @Override public void o原创 2017-03-30 16:15:50 · 538 阅读 · 0 评论 -
Android数据库框架greenDao3.2.0集成学习
1.0GreenDAO官方介绍译文http://www.qingpingshan.com/rjbc/az/219220.html2.0 配置As中的build.gradle文件 如下:apply plugin: 'com.android.application'apply plugin: 'org.greenrobot.greendao' android { com原创 2017-03-30 11:17:11 · 483 阅读 · 0 评论 -
ListView属性
1.android:background="@drawable/bg", listView设置背景色,拖动或者点击list空白位置的时候发现ListItem都变成黑色。 因为默认的ListItem背景是透明的,而ListView的背景是固定不变的,所以在滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了一个叫做andro原创 2016-09-05 14:59:19 · 381 阅读 · 0 评论 -
Android—SQlite数据库提高篇之数据库分页查询
根据此方法来确定数据库总数据可以最多分几页进行查询参数:page_size:是一页查询数据的数量type,vid:是查询数据库的条件,根据这些条件查询来确定数据库中查询数据的总数。private int getMaxPageSize(int page_size,String type,String vid){opendb(); //打开数据库StringBuffer sql_p原创 2016-08-11 11:40:37 · 2995 阅读 · 0 评论 -
Android—Sqlite数据库存储方法的使用
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。 另外, SQLite转载 2016-08-11 10:14:24 · 504 阅读 · 0 评论 -
Android 自定义RecyclerView 实现真正的Gallery效果
转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/38173061 上一篇博客我使用自定义HorizontalScrollView写了一个具有HorizontalScrollView效果和ViewPager特性的横向图片轮播,详见:Android 自定义 HorizontalScrollView 打造再多图片(控件)也不转载 2016-08-31 11:19:19 · 491 阅读 · 0 评论 -
Android 虚拟键盘的显示与隐藏
1>软键盘的状态——隐藏或显示。一:自动弹出软键盘Timer timer=new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputMethodManag原创 2016-08-31 10:43:43 · 1499 阅读 · 0 评论 -
时间 日期的应用 截取字符串的操作
package com.wwj.datetimepicker; import java.text.SimpleDateFormat; import java.util.Calendar; import android.app.Activity; import android.app.AlertDialog; import android.content原创 2016-01-21 10:53:40 · 693 阅读 · 0 评论 -
str.subString的用法
str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;把它发布在下面以便更多的和原创 2016-01-04 14:06:39 · 1944 阅读 · 0 评论 -
如何设置控件聚焦和手动获取焦点
设置获取焦点在XML中控件的属性中加上以下这么两项属性 android:focusable="true" android:focusableInTouchMode="true"或在代码中设置 view.setFocusable(true); view.setFocusableInTo原创 2015-12-15 09:21:36 · 2112 阅读 · 0 评论 -
JSON解析22
/* * JSON解析 */public List paramJSONS(String arg1) throws JSONException{Log.e(YouhuiquanBean.class.getName(), "arg1="+arg1);List parentmList = new ArrayList();JSONObject jsonObject=ne原创 2015-08-05 16:38:37 · 563 阅读 · 0 评论 -
关于ExpandableListView用法的一个简单小例子
喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到android的ExpandableListView,今天研究了一下这个的用法,也参考了很多资料动手写了一个小demo,实现了基本的功能,但界面优化方面做得还不够好,有待改进,素材采用了Q版三国杀武将的图转载 2015-08-03 14:25:26 · 263 阅读 · 0 评论 -
JSON解析
/* * JSON解析 */public List paramJSONS(String arg1) throws JSONException{Log.e(AAndroidControl.class.getName(), "arg1="+arg1);List parentmList = new ArrayList();// AATeacherDao thDao原创 2015-07-31 17:26:35 · 297 阅读 · 0 评论 -
Fragment的应用
1、Fragment的产生与介绍Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组原创 2015-08-11 17:31:40 · 392 阅读 · 0 评论 -
请求下来的数据放到数据库中 操作
1.数据库类DBDao/*** 数据库管理*/public class DBDao {// 数据库管理private DbOpenHelper dbHelper = null;private Context context = null;public DBDao(Context context) {this.context = context;d原创 2015-07-29 22:30:08 · 426 阅读 · 0 评论 -
Android获取手机分辨率 和屏幕的方向
Display display = mActivity.getWindowManager().getDefaultDisplay(); //在activity中 Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth();int height = display.原创 2015-07-29 22:06:20 · 443 阅读 · 0 评论 -
GridView的相关属性
常用到的是前8个1.android:numColumns=”auto_fit” //GridView的列数设置为自动2.android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度3.android:stretchMode=”columnWidth"//缩放与列宽大小同步4.android:verticalSpacin原创 2015-08-11 13:35:28 · 337 阅读 · 0 评论 -
设置android屏幕全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏requestWindowFeature(Window.FEATURE_NO_TITLE); 代码写在setContentView原创 2015-07-29 20:45:16 · 318 阅读 · 0 评论 -
引用字体
//调用系统的Typeface Typeface fontFace = Typeface.createFromAsset(getAssets(),"fonts/Walkway_SemiBold.ttf");textView_1_2.setTypeface(fontFace);textView_2_2.setTypeface(fontFace);原创 2015-08-09 23:54:21 · 443 阅读 · 0 评论 -
viewpager的使用
1这是activity界面.public class MainActivity extends Activity implements OnPageChangeListener {private ViewPager vp;private List views;private View view1,view2,view3;private ImageView[] dots原创 2015-08-07 08:18:37 · 295 阅读 · 0 评论 -
添加一个矩形背景与一个圆形背景
在项目的drawable 中添加一个 Android XML File 文件 xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >原创 2015-10-20 10:15:31 · 466 阅读 · 0 评论 -
Android setOnCreateContextMenuListener实现长按ListItem弹出不同菜单
Android onItemLongClick+onCreateContextMenu实现长按ListItem弹出不同菜单2010-09-07 18:29 前一段时间做项目需要做一个效果:一个ListActivity,长按不同的item弹出的菜单不一样;如下图所示我们长按不同的item需要弹出不同标题的menu: 长按事件可以使用ListView的s原创 2015-12-15 10:48:34 · 8094 阅读 · 0 评论 -
解决GridView的长按事件在手机上执行而在平板电脑上先执行Down在之后才和down事件一样传递给最终的目标view的onTouchEvent()处理
问题:一个Gridiew的拖拽应用 在模拟器上 运行的没有一点问题 当我部署到平板电脑上 长按事件 不起作用了 研究: Java代码 public boolean onInterceptTouchEvent(MotionEvent ev) { //这时候 你得到的x,y是在DragLayer下面得到的 这时候 容器 就是Drag原创 2015-12-14 17:24:25 · 496 阅读 · 0 评论 -
Android相对布局的属性
android:layout_above 将该控件的底部至于给定ID的控件之上android:layout_below 将该控件的顶部至于给定ID的控件之下android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐android:layout_alig转载 2015-07-30 16:18:24 · 351 阅读 · 0 评论 -
SharedPreferences数据存储
我们在开发软件的时候,常需要向用户提供软件参数设置功能,例如我们常用的微信,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是在window下通常我们会采用ini文件进行保存.如果是J2EE下面,我们会采用properties属性文件或者xml进行保存.在我们的Android应用中又适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPrefer原创 2015-11-23 16:42:52 · 332 阅读 · 0 评论 -
网络请求Http
Android网络请求框架AsyncHttpClient (android-async-http)介绍说明Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-async-http这个库可以大大的简化操作,它是基于Ap原创 2015-11-23 15:02:39 · 524 阅读 · 0 评论