关闭
当前搜索:

[置顶] Android开发笔记

● 当ScrollView里的元素想填满ScrollView时,使用”fill_parent”或者”match_parent”是不管用的,必需为ScrollView设置:android:fillViewport=”true”。 当ScrollView没有fillVeewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计算(不论它是否设了”...
阅读(445) 评论(0)

ORMLite does not know how to store class java.util.ArrayList错误的解决

程序中要用开源库ORMLite保存一个自定义类的数据,其中这个自定义类有如下属性: @DatabaseField private String packageName; @DatabaseField private int id; @DatabaseField private int type; @DatabaseField private A...
阅读(51) 评论(0)

Android “设置”应用的各项如何用代码调用的方式打开

测试设置各个项能否被打开的方法: 1.如果能获取页面的包名和页面名(而且不是subsettings),则通过指定包名和页面名的方式进行测试。先查看当前页面,命令行下输入adb shell dumpsys activity | findstr “mFocusedActivity”查看结果。 例如,获取到“热点”页面对应的包名/页面名为com.android.settings/.TetherSett...
阅读(53) 评论(0)

Android 在页面中显示打包日期

项目有需求,要求在app里显示安装包打包的日期,我的想法是: 1,在build.gradle中定义打包的日期变量。 2,在app里引用BuildConfig文件自动生成的变量并显示。 实现如下: 先在Build.gradle中定义得到打包时间的方法,在文件内容最外层定义: def static releaseTime() { return new Date().forma...
阅读(101) 评论(0)

Android应用结束自身进程的方法

有时候app中会有这样的需求:在某个时机触发后,程序需要销毁所有页面和后台服务,主动结束整个进程。怎么实现呢?管理activity一种方法是:在项目架构搭建时,就可以创建一个BaseActivity,让app的所有页面都继承它,然后用一个List去管理所有的activity,每打开一个activity,就将它添加到list中,activity销毁,则从list中移除。 这样当我们想销毁所有页面时,...
阅读(88) 评论(1)

Android 用文件存储数据

存储数据示例: private void saveFileData() { BufferedWriter writer = null; try { FileOutputStream out = openFileOutput("data", MODE_PRIVATE); writer = new BufferedWr...
阅读(140) 评论(0)

SharedPreferences实现数据存取

练习SharedPreferences的使用:存数据: SharedPreferences sp = getSharedPreferences("data", MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.putString("name", "lala");...
阅读(97) 评论(0)

Java 序列化方式实现深克隆

// 用序列化与反序列化实现深克隆 private Object deepClone(Object src) { Object o = null; try { if (src != null) { ByteArrayOutputStream baos = new B...
阅读(122) 评论(0)

Android 用HttpURLConnection访问网络

一、 HttpURLConnection以GET方式访问网络 二、 HttpURLConnection以POST方式访问网络...
阅读(125) 评论(0)

AlarmManager延时任务不生效

今天在实现一个延时任务时用到了AlarmManager, 想用它实现5秒后打开一个activity的操作。大概代码如下: Intent intent = new Intent(this, Main2Activity.class); PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);...
阅读(171) 评论(0)

用ViewHolder优化显示性能

使用adapter对ListView,GridView等进行适配时,要重写它的getView()方法。 下面是一个简单的示例,从本博客的上一篇文章Android launcher应用的简单实现粘贴过来: @Override public View getView(int i, View view, ViewGroup viewGroup) { /...
阅读(173) 评论(0)

Android launcher应用的简单实现

本篇文章将实现一个简单的可替代系统桌面的launcher应用。 此应用应该具有如下功能: 1. 自定义的桌面应用能够被设置为系统的默认桌面,替代原有桌面。 2. 系统桌面上的app图标能够排列在我们的自定义桌面上。 3. 点击自定义桌面上的app图标,能够打开对应的app。下面就看看具体实现: 新建一个空项目,命名为LauncherTest,然后打开项目的manifest文件: 一般情况...
阅读(220) 评论(0)

ViewPager基本用法

ViewPager是由v4包提供的一个组件,可实现像桌面那样左右滑动显示多页内容的效果,我们经常看到的一些app打开时的导航页面就可以用ViewPager实现。要使用ViewPager,得先将supportv4包导入项目,这一步就不讲了。 下面看看如何使用:首先新建一个项目,在activity的布局文件里加入ViewPager组件:<?xml version="1.0" encoding="utf...
阅读(183) 评论(0)

Android 用ViewPager实现加载两个webview的可滑动Tab页

先看下最终效果: 同一个页面里,有两个Tab页,分别加载两个不同的网页,可以通过点击页面顶部Tab或者左右滑动来切换Tab。被选中的tab颜色会变化。 下面看下如何实现: 1. 首先是这个页面的布局文件: <LinearLayout xmlns:android="http://schemas.android.com/...
阅读(282) 评论(0)

List的removeAll()方法与equals()方法之坑

最新在项目中遇到一个坑,大概如下:public class MainTest { public static void main(String[] args) { //创建一个List1对象,添加四个元素 List list1 = new ArrayList<>(); Operator op1 = new Operator(0...
阅读(291) 评论(0)

Android 项目中ButterKnife的基本使用

ButterKnife是一个开源的Android框架,方便的view绑定注解功能,可以省去大量的findViewById和setOnClickListener等代码,使开发更高效。下面就看看如何在Android Studio项目中配置使用ButterKnife:第一步:在Project的build.gradle中添加如下代码:buildscript { repositories {...
阅读(1082) 评论(0)
68条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:70200次
    • 积分:1313
    • 等级:
    • 排名:千里之外
    • 原创:66篇
    • 转载:2篇
    • 译文:0篇
    • 评论:11条
    文章分类
    最新评论