android

项目中需要直接在APP中通过发送shell指令来控制lcd灯,其实按理说应该是方案公司在调好lcd灯驱动之后直接通过service送接口上来给APP,APP调用就可以控制了,这是正规流程,但我们项目的方案商用的mtk方案,方案公司又没人会改,只调好了驱动,让应用程序自己实现灯的控制,这
dexcoder 1年前发布
项目效果如下: 项目目录结构如下: 代码如下: AudioManager.java package com.xuliugen.weichat; import java.io.File; import java.io.IOException; import java.util.UUID; import android.media.MediaRecorder; public class AudioManager { private MediaReco
dexcoder 1年前发布
作为程序员,尤其是菜鸟程序员,如何成为一个“面霸”征战沙场,少走弯路,升职加薪,当上CTO,迎娶白富美! 今天是我入职一个创业公司的第二天。由于公司今天才把自己用的电脑买回来,只好今天在做着每一个技术人员入职第一天常做的事:安装相关开发软件,配置开发环境。 在
dexcoder 1年前发布
前几天接到一个需求,我们的客户需要对手机网络接入点进行可用性测试,简单点说就是需要实现Android上的APN配置的添加,APN切换网络模式4G/3G/2G切换,我要调研下写个demo。 因为是要实现自动化测试,而且得合并到现有的拨测系统(C#项目)成为其中的一个模块,就需要用C#来驱
dexcoder 1年前发布
Android项目中自定义顶部标题栏 下面给大家详细介绍android中自定义顶部标题栏的思路及实现方式 先来图: ? ? 思路及实现步骤 1.定义标题栏布局 2.自定义TitleActivity控制标题栏按钮监听 3.在TitleActivity中实现标题栏以下内容切换 首先定义标题栏 <?xml version="1
dexcoder 1年前发布
安卓手机系统为什么叫 ROM?可以说不仅仅是安卓系统叫做 ROM,目前所有的手机系统,都可以叫做 ROM(包括但不局限于苹果、塞班、黑莓)这是由于 ROM 是只读内存(Read-OnlyMemory)的简称。特点是只能读而不能快速改写。 因此所有刷写进不可改变或擦除的系统我们都可以将之成
dexcoder 1年前发布
在一些复杂布局中,经常会遇到事件冲突,事件失效等问题,这就需要我们深入理解Android事件的分发传递机制。最好的方法是自己写一个demo,打印事件相关的日志查看其运行流程,然后再结合源码去深入理解。当然这里不会做这些,这里只有总结性的东西,如果你喜欢这种东西,那么
dexcoder 1年前发布
有过开发经验的程序员都知道这个效果,就是当我们第一次安装一个软件时有一个使用说明的图片切换效果,他是如何实现的呢?今天我们就一起学习一下吧,难度系数1.0,就是只要你仔细分析,都可以学会。废话不多说,下面我们开始本篇的介绍。 本篇我需要使用到ViewPager,对于Vie
dexcoder 1年前发布
存在的问题 Android开发中不可避免的会遇到需要检查app何时进入前台,何时被用户关闭。奇怪的是,要达到这个目的并不容易。检查app第一次启动并不难,但要判断它何时重新打开和关闭就没有那么简单了。 这篇文章将介绍一种判断app打开,重新打开和关闭的技术。 让我们开始吧 判
dexcoder 1年前发布
? ? ?? iOS篇 界面尺寸 设备 分辨率 状态栏高度 导航栏高度 标签栏高度 iPhone6 plus 1242×2208 px 60px 132px 147px iPhone6 750×1334 px 40px 88px 98px iPhone5/5s/5c 640×1136 px 40px 88px 98px iPhone4/4s 640×960 px 40px 88px 98px iPad3/4/Air/Air2/mini2 2048×
dexcoder 1年前发布
? ? ?最近在浏览某篇有关事件流的文章时,里面提到了数据的流处理,兴趣来了,就想看看能否在Android端实现一个。 ? ? ?根据文章的介绍,将每次数据的变更事件,像是插入,删除或者更新等,记为一个不可变的事件,让数据在事件中流淌,而不是对数据库进行破坏性的写入,也就是
dexcoder 1年前发布
一、问题描述 在android开发中,使用最多的数据刷新方式就是下拉刷新了,而完成此功能我们使用最多的就是第三方的开源库PullToRefresh。现如今,google也忍不住推出了自己的下拉组件SwipeRefreshLayout,下面我们通过api文档和源码来分析学习如何使用SwipeRefreshLayout。 先
dexcoder 1年前发布
我们刚刚发布了?GiraffPanic(一款用Qt & QML 开发的逻辑类益智游戏。译者注:Google Play中可以下载到,收费) 的一个新版本。在这个新版本中,我们给用户提供了相互之间分享解锁密码(code)的机会以方便用户解锁新的关卡(levels)。我们想为不同的设备之间共享密码找
dexcoder 1年前发布
上一篇文章说说Android LRU缓存算法实现学习笔记(一)?中我们介绍了最常用的实现LRU缓存的数据结构LinkedHashMap,这一节我们会针对LinkedHashMap的数据结构的特性,来自己实现缓存结构和学习Android源码和项目中对缓存的完善。 上一篇说到对于缓存实现,我们很重要的会考虑以
dexcoder 1年前发布
在我们的手机应用开发时候,我们经常会遇到大数据访问的时候,我们通常会考虑以下几个方面的情况。一、手机内存的限制还必须保证应用反应的流畅;二、尽量小的流量消耗,不然,你的应用流畅度再好体验再好,用户还是会毫不犹豫的卸载掉你的应用。大数据量访问的情况下,数据缓
dexcoder 1年前发布
一、序列化、反序列化是什么? (1) 名词解释 对象的序列化 : 把Java对象转换为字节序列并存储至一个储存媒介的过程。对象的反序列化:把字节序列恢复为Java对象的过程。 (2) 序列化详细解释 对象的序列化涉及三个点关键点:Java对象、字节序列、存储。 1. Java对象的组成?Java
dexcoder 1年前发布
显式跳转 是在已知包名和类名的情况下常用的跳转方法: Intent mIntent = new Intent(); mIntent.setClassName("com.android.settings","com.android.settings.Settings"); mContext.startActivity(mIntent); 我们也常这么用: Intent intent = new I
dexcoder 1年前发布
Android软件通常使用WIFI网络与服务器进行通信。WiFi并非总是可靠的,例如,开放式网络或弱加密网络中,接入者可以监听网络流量;攻击者可能 自己设置WIFI网络钓鱼。此外,在获得root权限后,还可以在Android系统中监听网络数据。 不加密地明文传输敏感数据 最危险的是直接使
dexcoder 1年前发布
前言 入门 视图树 源码分析 前言 好久没有写博客了,都感觉有些生疏了。 总觉的人对自己要求高一些比较好,这样才进步比较快。接下来会继续给大家带来一些更有用的知识。 个人水平有限,如果感觉我的博客对您有用处,那就留个言给下鼓励;如果那里写的有误,请各位看客老爷多
dexcoder 1年前发布
1、引言 对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现: 自定义一个CustomView(extends View )类 编写values/attrs.xml,在其中编写styleable和item等标签元素 在布局文件中CustomView使用自定义的属性(注意namespace) 在CustomView的构造方法中通过TypedAr
dexcoder 1年前发布