
android 开发
文章平均质量分 57
冰糖心书房
这里是Java技术实践的宝藏库!记录了我多年来在Java开发领域的实战经验和心得体会。从企业级项目架构设计、高并发处理到微服务架构的落地实施,每一个案例都是真实的项目沉淀。我会分享在项目中遇到的各种挑战以及如何巧妙解决它们的方法,希望能为同行们提供有价值的内容
展开
-
JetPack 之 Lifecycle
使用ProcessLifecycleOwner监听程序整个App的使用状态(看应用是不是在前台),跟Activity 数量无关1、先添加 implementation 'androidx.lifecycle:lifecycle-process:2.3.1'依赖2、新建一个类 ApplicatonObserver实现 LifecycleObserver接口,测试代码如下:public class ApplicatonObserver implements LifecycleObserve...原创 2021-08-12 16:25:29 · 100 阅读 · 0 评论 -
android 使用post 提交
1、使用post 方式提交时不要把需要传递的参数写在URL 中,一定要使用 BasicNameValuePair 这个类来完成创建我想发送一个类似Get 方式的一个URL ---------- http://localhost/app/camera.php?opt=discovery在使用Post 方式提交的时候不要把后面的参数直接传递过去,一定要使用以下的方式 HttpCl原创 2014-07-09 11:38:39 · 1899 阅读 · 0 评论 -
android 中实现图片倒影效果
1、效果图:2、核心代码:package com.example.pic_reflection;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import and原创 2014-04-28 17:04:25 · 2365 阅读 · 0 评论 -
为什么需要序列化
为什么需要序列化注意:“为避免编译错误,为可序列化的类添加了无参数构造函数。”MSDN的定义:序列化是将对象状态转换为可保持或可传输的形式的过程。序列化的补集是反序列化,后者将流转换为对象。这两个过程一起保证数据易于存储和传输。大家关心的是为什么需要序列化,用传统的方法也能实现这种需求吗,它存在的价值是什么,低层的原理、实质、基因的区别是什么?这也是我的疑问,通过在转载 2014-05-11 13:05:32 · 2034 阅读 · 0 评论 -
android程序 访问Tomcat服务器时的注意点
1. 地址路径中不能写成 localhost , 一定要写上本机的ip地址。例如:http://172.20.223.14:8080/2. 不要忘记添加权限原创 2013-06-21 14:00:38 · 1793 阅读 · 0 评论 -
android 选中GridView 中 的item 时进行图片放大的操作
1、在GridView 中我们会遇到当选中某个Item 时想让它处于高亮或者是放大的操作,我们只需要在setOnItemClickListener() 方法中把相应的position 给传过去。package com.example.sgridview;import java.util.ArrayList;import java.util.List;import android.an原创 2014-04-16 16:02:14 · 7560 阅读 · 4 评论 -
Navigation 和BottomNavigationView 的结合使用
1、在build.gradle文件中添加implementation "androidx.navigation:navigation-fragment:2.1.0-alpha02"implementation "androidx.navigation:navigation-ui:2.1.0-alpha02"implementation 'com.google.android.mater...原创 2019-05-05 11:40:29 · 3889 阅读 · 5 评论 -
Databinding 的使用
1、采用Databinding的方式可以省去之前我们代码中的findViewbyId的写法:2、在使用的时候首先得在build.gradle文件中添加:android { dataBinding { enabled = true }}3、在xml文件中的根标签需要使用layout<?xml version="1.0" encod...原创 2019-05-05 11:17:09 · 217 阅读 · 0 评论 -
Jetpack 中Room 的使用
1、在使用Insert插入数据时,如果表中id只是设置为主键而没有使用自增的方式时,会出现 android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: 解决方案:在方法上面添加如下代码@Insert(onConflict = OnConflictStrategy.REPLACE...原创 2019-05-05 10:26:01 · 673 阅读 · 0 评论 -
android 经常使用的一些类库整理
1、ZXingLite ZXing的精简版,优化扫码和生成二维码/条形码功能,让集成更简单。原创 2018-11-01 10:38:04 · 149 阅读 · 0 评论 -
Android 中集成Fabric收集崩溃日志
1、在android studio 中打开2、 点击安装,安装完成之后重启AS,,在这儿会多出一个按钮。3、选择相应的信息填写即可4、集成的代码会自动生成...原创 2018-10-25 15:34:08 · 998 阅读 · 0 评论 -
Android stuido 中集成Bugly 收集崩溃日志
1、https://bugly.qq.com 在注册一个用户并且新建一个产品,新建产品会生成一个appId(程序初始化时会用到)和 appKey2、在build.gradle 文件中添加: a、implementation 'com.tencent.bugly:crashreport:latest.release b、在defaultConfig 标签下加入 ndk...原创 2018-10-25 15:24:49 · 439 阅读 · 0 评论 -
android studio 修改包名
在Android Studio默认情况下, 修改包名只能修改最后一级 但是我们想将com.example.administrator.myapplication改为com.example.leigo.myapplication怎么办呢?在 Project工具栏 点击 将 Compact Empty Middle前面的勾去掉,包的层级将会改变转载 2015-09-17 16:46:15 · 31398 阅读 · 4 评论 -
实现View 上添加标签
利用 https://github.com/linger1216/labelview 类库来实现Java 代码{LabelView label = new LabelView(this);label.setText("HD");label.setBackgroundColor(0xffE91E63);label.setTargetView(findViewByI转载 2015-07-15 16:01:12 · 1267 阅读 · 0 评论 -
andorid 中fastJson 的使用
描述:fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果看这 里:https://github.com/eishay/jvm-serializers/wiki/Staging-Results 。 fastjson比gson快大约6倍,测试结果上这里:https://github.com/eishay/jvm-s原创 2015-03-04 11:22:00 · 891 阅读 · 0 评论 -
android 中自定义dialog
android 中自定义dialog1.在开发中往往会遇到对话框的问题,采用系统原来的会在对话框外部有黑色的边框,这时候我们要处理这种情况,就可以自定义dialog a.在values/styles.xml打开该文件,加入如下的代码: @null true @android:color/background_lig原创 2013-04-09 14:18:47 · 713 阅读 · 0 评论 -
android FragmentTabHost 的简单使用
效果图:1、下面是一个简单的Demo,仅供参考package com.example.fragmentpageadapter;import java.util.List;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.Fragmen原创 2013-12-21 14:56:29 · 21195 阅读 · 10 评论 -
android 中webView 加载网页时隐藏浏览器地址栏
直接贴源码:package com.example.webview;import android.app.Activity;import android.os.Bundle;import android.webkit.WebView;import android.webkit.WebViewClient;public class MainActivity ext原创 2013-04-18 21:23:15 · 4119 阅读 · 0 评论 -
Android UDP通信协议
1、package com.sunplus.app.dao.impl;public interface IAcceptServerData { public static final String SERVERIP = "255.255.255.255"; // 广播地址 public static final int SERVERPORT = 9600; // 端口号原创 2013-09-30 17:24:15 · 11334 阅读 · 1 评论 -
android 解析Json数据前期步骤
package com.sunplus.app.util;import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnecti原创 2013-07-29 15:52:31 · 550 阅读 · 0 评论 -
android 中获取当前程序的版本号
1、 try { int version = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionCode; } catch (NameNotFoundException e) { e.printStackTrac原创 2013-06-20 14:17:14 · 676 阅读 · 0 评论 -
android 从EditText中获取内容
1. 注意获取EditText 内容 view = LayoutInflater.from(context).inflate(R.layout.net_activity, null); final EditText net = (EditText) view.findViewById(R.id.net_input);原创 2013-06-20 14:42:24 · 15184 阅读 · 1 评论 -
android 中Fragment 的简单使用
1.以下程序界面是参考官网代码来实现:package com.sunplus.app.activity;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.DialogInt原创 2013-04-19 15:30:50 · 611 阅读 · 0 评论 -
android 从网络获取图片
package com.sunplus.app;import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import原创 2013-03-26 10:05:53 · 705 阅读 · 0 评论 -
android 中自定义组件
1、在开发中我们难免会遇到一些android 自带的组件无法实现的功能,这时候就需要我们重新去定义这些组件,实例实现了一个复合组件(ImageView 与 TextView )的组合,下面就是截图public class ImageAddText extends LinearLayout implements View.OnClickListener { private Imag原创 2013-04-10 13:09:46 · 570 阅读 · 0 评论 -
android 解析Json格式的数据(一)
1. 解析 [{\"id\":1,\"name\":\"kang\"},{\"id\":2,\"name\":\"zhang\"}] 此种格式的Json数据package com.sunplus.app.util;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;原创 2013-04-17 17:34:06 · 661 阅读 · 0 评论 -
android 解析Json格式的数据(二)
1. 解析:{\"flag\":\"true\",\"value\":[{\"id\":1,\"type\":\"temp\",\"value\":30}]} public static Map parseJsonMap(String data) { Map allMap = new HashMap(); try {原创 2013-04-22 11:38:48 · 522 阅读 · 0 评论 -
Android 的权限设置大全
在开发中相信大家都遇到过忘记添加权限的时候吧,今天总结了一下android.permission.ACCESS_CHECKIN_PROPERTIES //允许读写访问”properties”表在checkin数据库中,改值可以修改上传 android.permission.ACCESS_COARSE_LOCATION //允许一个程序访问CellID或WiFi热点来获取粗略的位置转载 2013-06-28 17:19:46 · 842 阅读 · 0 评论 -
Android 启动程序时动画效果
1、当你打开一个应用程序时,总会看到前面有一个加载动画页面,下面我们就看看怎么来实现 2、新建一个.xml 文件,添加一个ImageView 组件,该组件用来加载图片<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andr原创 2013-10-22 10:10:37 · 34617 阅读 · 9 评论 -
android 自定义Activity
1、在通常情况下我们新建一个Activity时,它会全屏显示,如果想不让它全屏显示,可以这样做2、在drawable 目录下新建一个 custom_activity.xml 文件 <padding android:left="10dp" android:top="0dp" android:right="10dp" android:bottom="10dp" />原创 2013-10-29 13:08:27 · 2400 阅读 · 1 评论 -
android 中PopupMenu 的简单使用
1、点击某个按钮时弹出一个下拉列表 @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn1: PopupMenu pop = new PopupMenu(getActivity(), v); pop.get原创 2013-12-19 14:17:06 · 16890 阅读 · 3 评论 -
android 集成IDE(Eclipse) 的常用快捷键
android 集成IDE(Eclipse) 的常用快捷键1、Ctrl + Shift + O // 快速导入相应的包2、Ctrl + Shift + T //查找并打开项目中的类3、Ctrl + Shift + R //查找并打开项目中.xml 文件与 图片原创 2013-08-09 18:58:00 · 784 阅读 · 0 评论 -
提给程序员和开发者的 10 道 Java 泛型面试题
提给程序员和开发者的 10 道 Java 泛型面试题英文原文:10 Interview Questions on Java Generics for Programmer and Developers标签: Java403人收藏此文章, 我要收藏lwei 推荐于 1个月前 (共 12 段, 翻译完成于 10-18) (28评) 参与翻译(1人):转载 2013-12-02 14:24:10 · 1647 阅读 · 0 评论 -
使用Java 语言可以方便的把任意对象转换成json格式的数据
1、首先要有 jackson-all-1.8.1.jar包 的支持2、接下来就是一个简单的demo package com.sunplusapp;import java.util.ArrayList;import java.util.List;import org.codehaus.jackson.map.ObjectMapper;public class SqlToJson {原创 2013-11-25 11:01:32 · 1152 阅读 · 0 评论 -
android startActivityForResult 的简单使用
1、通常情况下我们利用startActivity() 这个方法来开启一个activity,这样做的结果是不能够从后一个activity 把值给传回来,利用startActivityForResult()这个方法,我们可以把值给传回来。下面就是一个小Demo的使用:package com.example.activity;import android.app.Activity;import原创 2013-11-18 18:43:05 · 1503 阅读 · 0 评论 -
android SharedPreferences 的使用
1、在android 中可以用 SharedPreferences 来保存一些简单的数据:比如用户是否登录,可以简单的做一下记录 SharedPreferences prefs = context.getSharedPreferences("admin", 0);//保存内容Editor edit = prefs.edit();edit.putString("原创 2013-06-20 14:38:50 · 513 阅读 · 0 评论 -
Android 中日期控件与下拉列表的使用
1、在一个EditText 中单击一下可以弹出日期对话框: private static int START; private int mYear; private int mMonth; private int mDay; private class SetParaImpl implements OnClickListener { @原创 2013-09-30 17:27:01 · 5084 阅读 · 2 评论 -
android Activity 的生命周期的详解
1、当开启一个activity 时它会调用 onCreat() ——> onStart()——> onResume() a、此时当你按下home 键时会触发 onPause() ——> onStop(),此刻在找到图标点击进去时程序会调用 onRestart()——> onStart() ——> onResume();结论:(按下home 键 时当前的acitvity 没有被销原创 2013-11-16 15:13:30 · 996 阅读 · 0 评论 -
android 中改变按钮按下时的颜色
1、顶部菜单的设计:需求:当当前按钮按下时,要用一种不同于别的按钮的颜色来区分。(1) 首先需要一个.xml文件 android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >原创 2013-07-29 15:14:57 · 14722 阅读 · 0 评论 -
Android Fragment 应用
1、使用Fragment 可以方便的替代TabActivity、ViewGroup2、同时也省去了在AndroidManifest.xml文件中 添加相应的Activity 3、Fragment 是3.0之后的功能,如果想向下兼容我们在导包时一定要注意了,该导入 import android.support.v4.app.FragmentActivity; 而不是 import andro原创 2013-08-19 15:01:20 · 3467 阅读 · 0 评论