移动开发

androidpn 推送深入

我们从Androidpn客户端程序入口DemoAppActivity开始.DemoAppActivity里最核心的就是下面这两句了. [html] view plaincopyprint?ServiceManager serviceManager =new ServiceManager(this); serviceManager.startService(); ServiceManager serviceManager =new ServiceManager(this); serviceMana

iOS 比较版本号大小的方法

比较iOS版本号大小 eg:3.2.0和3.1.0 或者 3.2.0和3.2比较返回bool值变量YES or NO 在APP迭代更新过程中,有这样的需求,需要比较版本号的大小,然后弹出提示框提示更新. 之前版本号一直是中规中矩的按照1.1.0 --> 1.1.2这种数字变化方式.采用的方法是:将版本号字符串中的.号删除掉之后,比较两个数字的大小,后来发现在App Store中,各种APP的版本号数字变化的格式千奇百怪,1.0.11-->1.1.0,如果还采用上面的方法比较版本号,就不对了10

android事件消费机制,从外传到里面,里面具有优先选择权,如果里面的不需要,则传递给外面一层消费

Android 使用 NYTimes Stores 缓存 network request

NYTimes Stores 是一个缓存库,在 2017年的 AndroidMakers 大会上被介绍过. https://github.com/NYTimes/Store 实现一个 Disk Cache 需要以下几个步骤: 在 Retrofit 的 API 下 @GET("/v1/events") Single 创建 fetcher private fun fetcher(): Single 创建 Store private fun provideStore(): Store<

移动端rem

移动端内包括微信端: 设置meta标签达到视口的响应式. 通过rem作单位.来匹配不同型号的手机的适配. 微信端: 一般设视口为640px. 给html元素设置 font-size:40px: html 内部最大宽度元素最大为width:16rem或 max-width:16rem.这样其html内部元素最宽就是 640px;不会超过视口的宽度.就不会出现滚动条. 通过js 脚本在html head标签内部最少影响css 重排,重绘的位置.初始就加载这段脚本 写 来达到若是视口的宽度小于640的

Android异步任务的使用方法

Android上面的很多操作是不能直接放在ui线程上面的.当ui线程被阻塞5秒以上的时候应用会出现未响应的对话框过.当此现象出现的时候会直接影响用户的用户体验的.所以我们需要通过方法对异步任务或者操作进行相关的处理.在这里罗列出集中相关的处理方法: 首先我们最先想到的应该是使用Thread+Handler实现非UI线程更新UI界面,即在线程执行的时候通过发送message来通过Handler来处理和更新ui. 另外一种方法就是通过异步任务:AsyncTask来进行数据的处理,通过继承AsyncT

android异步任务详解 AsynTask

android提供了一套专门用于异步处理的类.即:AynsTask类.使用这个类可以为耗时程序开辟一个新线程进行处理,处理完时返回. 其实,AsynTask类就是对Thread类的一个封装,并且加入了一些新的方法.编程时,两者都可以实现同样的功能.本文后面将对AsynTask和Thread进行比较. 1.AsynTask类结构 asysTask类主要用到的几个内部回调函数有: doInBackGround() onPreExecute() onPostExecute() onProgressUp

ARC 100 C - Linear Approximation题解---三分法

题目链接: https://arc100.contest.atcoder.jp/tasks/arc100_a 分析: 比赛时做这题想到一个瞎搞的方法就是在平均数上下波动一下取最小值,然后大佬yjw学长说这就是个严格单调单峰函数直接三分法就好了,虽然之前就听过则还是第一次打 三分法 设有最大值函数f(x)定义域为\([l,r]\),我们在定义域内找两个点\(lmid,rmid(lmid<rmid)\) 若\(f(lmid)<f(rmid)\),要么\(lmid\)和\(rmid\)都在单峰左边,

根据手机号码获取归属地

import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; public static Stri

Xamarin.Android SharedPreferences的使用方法

SharedPreferences的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下. 这里只讲有关SharedPreferences的基本增删改查操作,模拟一个登陆记住账号密码的功能. 新增一个User节点,保存用户名张三.密码666666 GetSharedPreferences("User", 0).Edit().PutString("UserNa

APP早期运营该注重哪些细节?

当一款APP推出市场,首当其冲的就是捕获第一批种子用户.现在不比以前了,以前可能花几个月研发出一个APP,短时间就可以吸取几百万的用户量.现在移动互联网成为一种趋势,很多开发者都想来分一杯羹,让市场出现供大于求的局面. 你的产品做得出色,但如何才能在APP市场上鹤立鸡群?这就要找准属于你自己的运营模式.打铁还需自身硬,酒香不怕巷子深,以下简短介绍运营推广的几个比较突出点,开发者可以从以下几点中发放性思维,把0变1000. l         捉住用户的疼点 微信在刚开始推广微支付的时候也面临很大

Android-RelativeLayout布局技巧(一)

如果有一个需求是这样的,在标题中的右上角有一个button 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_heigh

Tensorflow 静态库制作(ios)

1.环境检查 是否安装xcode 是否安装homebrew 是否通过homebrew 安装 automake 是否通过homebrew安装libtool 是否下载TensorFlow源码(github: https://github.com/tensorflow/tensorflow) 2.开始制作静态库 找到 build_all_ios.sh 并执行 打开终端,输入命令进入到 build_all_ios.sh 所在的文件夹 p.p1 { margin: 0.0px 0.0px 0.0px 0.

新时代手机产品战争打响

目前正在从PC领域向智能手机市场拓展的联想,至少可以在专利方面躲过一劫. 除摩托罗拉移动外,联想2014年在专利领域频频出手.三月,联想以1亿美元收购专利组织UnwiredPlanet持有的21项专利,包括3G.LTE专利以及其他重要移动专利,并同时获得2500项专利的交叉授权:四月,联想收购了NEC在全球多个国家申请的超过3800项专利组合,涉及专利技术已广泛用于智能手机的出产制造. 专利战剑拔弩张的背景下,最值得庆祝的莫过于联想.最近联想以29.1亿美元收购摩托罗拉移动彻底完成,收购完成后,

ios ----UIScrollview循环滑动

UIScrollview循环滑动,源代码下载地址:http://download.csdn.net/detail/haogaoming123/8505505 根据timer循环滑动,在手指触摸的时候,timer停止,然后根据手指滑动,手指滑动停止后,timer启动. 效果图如下:          

[转载]iOS9 使用CoreLocation

在iOS8之前,只要 #import <CoreLocation/CoreLocation.h>引入CoreLocation.framework. @property (nonatomic, strong) CLLocationManager *locationManager; 就可以使用位置信息. 在iOS8之后,苹果对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法: (1)始终允许访问位置信息 - (void)requestAlwaysA

这些年正Android - Traveling 第一章002

周末了终于可以有一个休息的时间.周五晚上回到宿舍十一点左右,记不清了,倒在床上,脑子里还残留这着这次APP版本上线的收尾功能.没有太多的杂念,只是觉得这东西尽快的量产,就可以和二哥商量着分钱,KTV,一把年纪了,成家,旅行什么的.一心在为未来的生活打物质基础,但人之初,性本善.半夜,我从梦中惊醒,记不清几点,像似有一股力量推着自己,莫名的看到母亲的微信,已有好多条未读,静静的读完后,回复:妈,节日快乐~我爱你. 今年我二十六了,每天起床的时间从中午的十二点变成早上七点,睡觉时间从凌晨变成了记不清

CSharp程序员学Android开发---3.Android内部元素不填充BUG

最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历时一个多月,4个人开发,最终行成一个可用的Demo,整体效果还非常不错.这其中借鉴了网上的“仿网易客户端的Demo”还有就是学习<疯狂Android>,收获颇多,这里利用几篇文章做一个项目经验总结,还有就是更多的从C# 程序员的观点来理解Android的一些异同之处. 文章目录: CSharp程序

iOS开发——OC篇&amp;协议篇/NSCoder/NSCoding/NSCoping

协议篇/NSCoder/NSCoding/NSCoping 协议声明类需要实现的的方法,为不同的类提供公用方法,一个类可以有多个协议,但只能有一个父类,即单继承.它类似java中的接口. 正式协议(formal protocol)------------------------------------------------------------------------------------声明正式协议使用@protocol指令,以@end结尾. @protocol MyXMLSupport

ios进度条Demo一个

一个很简单的Dmo.就拿出来分享一下. 一个简单的阴影效果 _progressView.frame = CGRectMake(size.width * progress-size.width, H_HEIGHT-20, size.width, size.height); _progressView.layer.shadowColor = [UIColor redColor].CGColor; _progressView.layer.shadowOpacity=0.5;; _progressVie