
开发常用功能点
jiang547860818
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
底部导航栏
1、新建activity.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_wid原创 2017-10-31 15:47:38 · 284 阅读 · 0 评论 -
App前后台切换的监听
APP是否在前台运行的监听。 方案: 实现的大体思路:在Activity生命周期中的onPause()中判断是否进入后台,如果进入后台你就可以做一些你想要做的操作,Activity生命周期中的OnResume()方法中判断App是否进入前台,如果进入前台就做自己想要的操作。 具体实现: 当然这个Activity最好选择BaseActivity然后再让其他的Activity继承它。下原创 2017-11-16 14:27:09 · 1316 阅读 · 0 评论 -
更换头像的逻辑代码,两个功能,一个是从图库选择,一个是打开相机自己拍照
效果: public void changeIcon(View view){ String[] items = new String[]{"图库","相机"}; new AlertDialog.Builder(this) .setTitle("选择来源") .setItems(items, new Dia原创 2017-11-21 18:19:10 · 1822 阅读 · 0 评论 -
登录和退出登录的操作逻辑
登录功能的操作逻辑步骤如下:可以分为五个步骤来实现。 1、进入页面先判断用户是否已经登录 private void isLogin() { //查看本地是否有用户的登录信息 SharedPreferences sp = this.getActivity().getSharedPreferences("user_info", Context.MODE_PRIVA原创 2017-11-22 14:41:24 · 42420 阅读 · 1 评论 -
selector+shape使用工具类
为了避免在drawable文件夹下创建太多的selector,避免同一个样式,因为忘记了名字而重复创建。我们创建一个工具类来实现我们想要的样式,需要的样式,直接在代码中实现。 工具类如下:import android.content.Context;import android.content.res.ColorStateList;import android.graphics.Color;原创 2017-12-11 10:00:01 · 560 阅读 · 0 评论 -
分享给好友功能的实现
1.常用的分享功能实现的框架 http://mob.com/ https://www.umeng.com/2.sharesdk说明: ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。 支持包括QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博原创 2017-11-24 14:27:53 · 12721 阅读 · 1 评论 -
联网更新版本功能的流程说明
版本更新的流程逻辑图 1、判断手机是否可以联网 /** * 判断手机是否联网 * ConnectivityManager */ private boolean isConnected() { boolean connected = false; ConnectivityManager manager = (Connect原创 2017-11-24 18:12:30 · 656 阅读 · 0 评论 -
gradle.properties的使用教程
一般我们都把全局属性都编写在一个工具类中,如果是有环境的切换的话,那么我们还会定义一个标志来进行相应的变换。对于项目而言,有时候需要配置某些敏感信息。比如密码,帐号等。而这些信息需要被很多类共同使用,所以必须有一个全局的配置。当需要把项目push到git上时,我们不希望别人看到我们项目的key,token等。我们可以将这些信息设置在gradle.properties中。 下面就讲解如何使用grad原创 2017-12-14 17:44:46 · 14904 阅读 · 1 评论 -
多渠道打包方法简介
渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等 我们要在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计(这就是添加渠道信息的用处)。 实现多渠道打包的原理: 一般来讲,这个渠道的标识会放在AndroidManifest.xml的Application的一个Metadata中。然后就可以在java中原创 2017-11-27 15:06:05 · 6890 阅读 · 0 评论 -
Android 签名打包出现的错误的解决方法以及代码中获取应用签名信息方法
现象: Android导出APK包时出现,编译调试时不会出现。 错误信息:Error:(16) Error: "baidutieba_client_inavailable" is not translated in "en" (English) [MissingTranslation]Error:(63) Error: "baidutieba" is not translated in "en原创 2017-11-27 11:07:49 · 2999 阅读 · 0 评论 -
异常捕获上传服务器
import android.content.Context;import android.content.SharedPreferences;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.os.Build;import android.os.Env原创 2017-12-26 17:23:19 · 705 阅读 · 0 评论 -
阿里热修复AndFix的使用教程
一般我们开发了的APP在上线之前都会进行全面的测试,等APP测试基本稳定后,公司会进行封版,待上线。这时如果开发人员又发现了bug,但是又封版了,不能再修复,防止引入新的问题。这时这个bug的修复就只能是在下一个版本再修复。但是,如果是一个小小的问题,我们就总是不停的修复后,发布新版本,用户就要不停的去下载安装。这样给用户的体验是很不好的,如果可以在用户不需要卸载旧的版本再安装新版本就能进行bug的原创 2017-12-27 10:47:29 · 1156 阅读 · 0 评论 -
压缩并设置圆形头像
效果图: 1.设置布局属性:<ImageViewandroid:scaleType="fitXY"/>2.得到指定圆形的Bitmap对象public static Bitmap circleBitmap(Bitmap source) {int width = source.getWidth();Bitmap bitmap = Bitmap.createBitmap(width, width,原创 2017-11-21 15:18:28 · 491 阅读 · 0 评论 -
反编译以及代码混淆的简单介绍
要反编译apk需要下面3个工具: 1. apktool (资源文件获取) 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 2. dex2jar(源码文件获取) 作用:将apk反编译成java源码(classes.dex转化成jar文件) 3. jd-gui 作用:查看APK中classes.dex转化成出的jar文件,即源码文件原创 2017-11-29 18:11:58 · 741 阅读 · 0 评论 -
连续点击两次退出当前程序
简单的记录项目中使用的一个小功能 :点击返回按钮两次退出当前程序 //重写onKeyup(),实现连续两次点击方可退出当前程序 private boolean flag = true; private static final int WHAT_RESET_BACK = 1; private Handler handler = new Handler(){原创 2017-10-31 16:10:59 · 961 阅读 · 0 评论 -
Android设置全屏显示方法
方式一:动态编码的方式:// 去掉窗口标题requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏顶部的状态栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView();方式二:android:theme="@android:style/原创 2017-10-31 16:42:10 · 349 阅读 · 0 评论 -
自定义LoadingPage实现网络请求显示的四种情况的封装
我们在网络请求数据的时候,通常有四种情况: 1、正在加载 2、加载失败 3、加载成功,但是没有数据 4、加载成功,同时返回数据 这时候需要我们根据这四种情况显示不同的页面视图。 这里我们可以自定义一个LoadingPage类来实现这四种情况的切换。 一、新建一个LoadingPage类继承FrameLayout 1.定义4种不同的显示状态 state_loading=1;原创 2017-11-09 16:07:30 · 1834 阅读 · 1 评论 -
项目开发中,结构设计的常用工具类
ActivityManager.class用于管理APP的Activity的管理类package com.willkong.p2pclient.common;import android.app.Activity;import java.util.Stack;/** * 作用:统一应用程序中所有的Activity的栈管理(单例) * 涉及到activity的添加、删除指定、删除当前、删原创 2017-10-31 17:44:47 · 702 阅读 · 0 评论 -
带清除按键的EditText,带晃动动画
import android.annotation.SuppressLint;import android.content.Context;import android.graphics.drawable.Drawable;import android.text.Editable;import android.text.TextWatcher;import android.util.Att原创 2017-11-10 16:06:39 · 301 阅读 · 0 评论 -
水平跑马灯
先上效果图: 实现水平跑马灯有两种方式: 方式一、在布局中编辑一个TextView控件 <TextView android:id="@+id/tv_product_title" android:layout_width="match_parent" android:layout_height="wrap_content" andro原创 2017-11-10 17:33:37 · 282 阅读 · 0 评论 -
流式布局控件的编写
import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;import java.util.List;/** * 作者: willkong on 2017/1原创 2017-11-16 17:11:15 · 420 阅读 · 0 评论 -
Android的shape功能和selector功能的代码中定义的简单使用及替换
使用代码定义的shape资源类 public static Drawable getDrawable(int rgb, int radius){ GradientDrawable gradientDrawable = new GradientDrawable(); gradientDrawable.setColor(rgb); gradientDraw原创 2017-11-17 10:44:55 · 387 阅读 · 0 评论 -
BaseAdapter的封装
ListView的使用,必须有一个装配数据的适配器。所以BaseAdapter的封装就显得尤为重要。 适配器的作用:将具体的集合数据装配到具体的一个item layout中 问题一:数据类型是不确定的。 问题二:item layout的布局是不确定的 问题三:将集合中指定位置的数据装配到item,是不确定的。 因为数据类型不确定,所以我们把封装类写为泛型类。 基于原创 2017-11-15 10:19:58 · 303 阅读 · 0 评论 -
随机飞入效果视图控件
效果图: 随机飞入效果ui视图控件文件夹randomLayout,文件中包含四个文件类 AnimationUtil.class、RandomLayout.class、ShakeListener.class、StellarMap.class四个文件类。 AnimationUtil.classimport android.view.animation.AlphaAnimation;import原创 2017-11-15 15:01:33 · 439 阅读 · 0 评论 -
教你一步步集成友盟+推送(UPUSH)
因为安卓的开源的原因,很多厂商都自己定制了自己的系统,以至于安卓的碎片化特别严重。今天我们要讲的是推送这个功能,消息推送在Android开发中应用的场景是越来越多了,比如说电商产品进行活动宣传、资讯类产品进行新闻推送等等,1. 主流的第三方推送平台分类手机厂商类:小米推送、华为推送。第三方平台类:友盟推送、极光推送、云巴(基于MQTT)BAT大厂的平台推送:阿里云移动推送、腾讯信鸽推送、百度云推送...原创 2018-05-17 15:38:15 · 17437 阅读 · 6 评论