移动开发

Android 日志记录杂谈-Logger,Timber,logback-android

转载:http://www.jianshu.com/p/39834be3cb6c "Every time you log in production, a puppy dies." – Jake Wharton 做安卓项目中,调试程序的时候一般会进行打log来查看相关信息,而我原来是使用的系统自带的Log来打印. 归结二个问题:<信息显示>,<信息存储>,就这二个问题我们具体来看如何解决 -----------------------主体分割君---------

iOS开发技巧 - 使用UISegmentedControl来对信息进行分组

(Swift) import UIKit class ViewController: UIViewController { var segmentedControl:UISegmentedControl! override func viewDidLoad() { super.viewDidLoad() let segments = [ "iPhone", "iPad", "iPod", "iMac"] segmentedCo

android自定义viewgroup初步之一----抽屉菜单

几天前在慕课网上看到鸿洋老师的 自定义卫星菜单,感觉很有意思,于是看完视频以后,自己也尝试写了一遍,并且添加了可拖拽效果(光看视频是不管用的,一定要自己动手做!切记不要照着抄代码). 有兴趣的同学可以去慕课网看看(并非广告):http://www.imooc.com/learn/300 自定义控件这个玩意呢,就得考多练,于是又写了一个抽屉效果的菜单,也是比较简单的. 老规矩,先上效果图: 那么中间的圆圈就是卫星菜单拉,而左下角的呢,是抽屉菜单. 下面进入正题: 自定义Viewgroup的一般步骤

Android 视图结构

一.简介 Android中,为了和设备的屏幕进行交互,需要使用两个核心的Java类.它们是Android开发中最常用和最重要的两个类: View类 ViewGroup类 View和ViewGroup是核心的上层类,它们像所有Java类一样,是由Java的Object类派生而来的.View对象可以使用View类来创建,View类也可以用来创建很多多更低层的,或者说是更具体的Java类,它们都是由View类派生而来,并继承了其超类的所有特性. 二.View类 整个显示的屏幕可以由一个或多个View对

Android touch事件分发

跟touch事件相关的3个方法: public boolean dispatchTouchEvent(MotionEvent ev); //用来分派event public boolean onInterceptTouchEvent(MotionEvent ev); //用来拦截event public boolean onTouchEvent(MotionEvent ev); //用来处理event 三个方法的用法: dispatchTouchEvent() 用来分派事件. 其中调用了onIn

安卓学习06

今日学习了底部导航功能. 1.独立fragment 需要三个独立的fragment,建立三个fragment布局. 2.navigation 由于三个fragment直接没有递进关系,所以三个fragment平行即可. 3.menu的设计 菜单中icon可以选择图标. 每个菜单的id要和fragment的id一致. 4.主页面的布局 bottomNavigationView属性中的menu选择我们设计的菜单. 上方的是NavHostFragment. 5.主界面的逻辑代码 package com

关于Android的fragment的使用

fragment的静态使用 首先创建两个fragment,就把fragment当成activity去写布局,第一个是fragment_title: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" an

Android ImageView 自动拉伸

1 int width = ScreenUtils.getScreenWidth(this); 2 int height = ScreenUtils.getScreenHeight(this); 3 mImageView = new ImageView(this); 4 mImageView.setScaleType(ImageView.ScaleType.FIT_XY); 5 mImageView.setLayoutParams(new Gallery.LayoutParams(width,

android view绘制 面试

一.view树的绘制流程 measure--->layout--->draw measure 1.ViewGroup.LayoutParams 指定部件的长宽 2.MeasureSpec 32位的int值 前两位代表模式 后30位测量规格的大小 layout draw invalidate()请求android系统 如果大小没有发生变化 就不会调用layout放置这个过程 requestLayout() 当布局发生变化时 希望重新测量尺寸大小 就会触发 measure和layout 但不会调用

Android原生开发,view标签导致RecyleView Adapter 中报错的奇葩问题

报错: Attempt to invoke virtual method 'booleanjava.lang.String.equals(java.lang.Object)' on a null object reference 提示错误在: @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new XunshiViewHolder(mLayou

android 创建view间关系

在此过程中 1.viewgroup知道自己有几个子view. 2.每个view的一些基本属性都已经知道 id backgroud width height ... 通过view的构造函数style传递进来. findViewById() view.findViewById() 原文地址:https://www.cnblogs.com/l-h-h/p/10321839.html

安卓 Hacking Part 17 破解Android应用

 本文中,我们将会介绍一些基本的模拟器检测方法并在检测到模拟器时终止程序运行.然后我会介绍攻击者如何用一些免费的工具来绕过这些检测.本文的主要目标是演示攻击者如何通过修改应用来改变其功能. 逆向工程 计算机编程中,逆向工程是一种软件分析技术,用于识别和理解应用程序,通常是为了重新实现程序,或者是仿照程序,抑或是寻找程序弱点并攻击. Android中进行许多攻击都要求能对应用进行逆向工程,能让我们在进行攻击之前充分了解应用源代码. 检测模拟器 有些情况下开发者希望应用在模拟器中停止运行,实现的

苹果新贵 Swift 之前世今生

摘要 : 做为一个70后程序员,克里斯先后发明了 LLVM.Clang 和 Swift,请问你做了什么? 上 周出差劳顿,这篇文章几次动笔都未完成,常常躺倒床上就昏睡过去.南方的天气闷热潮湿,让我感到极度的不适应,等到回到北方,天高云清,空气干爽,让人产 生一种「解放区的天是明朗的天」的感觉,我甚至觉得自己的手机.Pad 和 Mac 都满血复活了……直到有人提醒说它们是因为充电和网速的原因.好吧,南方酒店的网络还真叫慢啊…… 以下是正文: ……………… 2010年的夏天,Chris Lattne

iOS进阶面试题----多线程 蓝懿教育

1 多线程是什么 多线程是个复杂的概念,按字面意思是同步完成多项任务,提高了资源的使用效率,从硬件.操作系统.应用软件不同的角度去看,多线程被赋予不同的内涵,对于硬件,现在市面上多数的CPU都是多核的,多核的CPU运算多线程更为出色:从操作系统角度,是多任务,现在用的主流操作系统都是多任务的,可以一边听歌.一边写博客:对于应用来说,多线程可以让应用有更快的回应,可以在网络下载时,同时响应用户的触摸操作.在iOS应用中,对多线程最初的理解,就是并发,它的含义是原来先做烧水,再摘菜,再炒菜的工作,会

90%的用户都不知道手机内部功能

iPhone手机隐藏的小功能有很多,每个数字及字母都能透露出很多信息.今天小编就教大家如果利用拨号键盘查询到更多的信息. 查询手机信号 输入*3001#12345#*,就可以运行手机内置的FieldTest.隐藏程序,可以查看基站信息.信道.信号强弱,固件版本号等内容.输入#302#.#303#.#304#.#305#.#306#,就可以建立一个虚拟的通信回路,回拨自己的手机.输入*#06#,就可以查询手机的IMEI码. 所有来电类型的呼叫转移: 如果在设置呼叫转移时遇到错误,或者你想取消所有呼

苹果拥抱 Rust,正在将 C 代码移植到 Rust

苹果拥抱 Rust,正在将 C 代码移植到 Rust 微软去年宣布在涉及安全的模块中会使用 Rust 来替代 C.C++ 和其他语言,以改进应用的安全情况,并解释为什么他们认为 Rust 目前是业界采用的最佳选择.除了具备性能与安全方面的特性,Rust 还拥有健康的生态和社区,综合起来各种因素最终推动他们采用 Rust. 现在,另一家科技巨头 —— 苹果也表示对将 C 代码移植到 Rust 感兴趣,希望投身到使用 Rust 编写代码的潮流中.从它最近发布的一则招聘公告来看,苹果最初从 C 到 R

(Android review)发短信

1.main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" an

请告诉美工Android适配时切图要按标准来

在Android官方看到的Android各分辨率适配时的比例,以mdpi为基础,切图时请告诉美工,提升用户体验哇,别在那边瞎切. 比如: ldpi: 36px    0.75 mdpi: 48px    1.0 hdpi: 72px    1.5 xhdpi: 96px     2.0 xxhdpi: 144px   3.0

Android记事本NotePad

起初接触Android的时候用Eclipse写的小应用,后面手动移植到了Android Studio中,可以新建,查看,删除便签等,今天整理一下代码,完整的代码可以在我的GitHub上看到,链接在文末. DbHelper: package com.zms.notepad; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import andr

手机端页面要加...

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> content属性值 : width:可视区域的宽度,值可为数字或关键词device-width height:同width intial-scale:页面首次被显示是可视区域的缩放级别(初始的缩放比例),取值1.0则页面按实际尺寸显示,无任何缩放