赶上了互联网浪潮的当代人,每当有任何困扰,第一反应都是打开搜索引擎. 什么叫做“硬核相亲”,什么是“pick一下”,“达达主义”,“隐形贫困人口”——你都默默搜索过,不想被时代与话题抛弃.也许只有这样暗自努力,才能让生活与社交看起来毫不费力. 但搜索引擎无法解决一切. 信息爆炸时,“大而全”不见得是一件好事,除了纷乱的资讯与竞价广告,搜索引擎能给的真的不多.更多的有效信息散落在专业网站与各色细分App中,其内容含金量相对高,时效性强,无用信息少,是web时代那些先天不足的网页无法比拟的.如果说搜…
现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是,如果数据有几百万,甚至上千万的时候,一次like查询数据库就堵了.到了一定量级的时候,不得不考虑使用专门的搜索技术. 1.    一个简单的搜索例子 有三行数据: (1)近2周8成股民亏损超10%. (2)满仓中国梦. (3)股民两天亏一套三居. 例如,有个需求,从上面的3行数据中,把包含"股民&q…
现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是,如果数据有几百万,甚至上千万的时候,一次like查询数据库就堵了.到了一定量级的时候,不得不考虑使用专门的搜索技术. 1.    一个简单的搜索例子 有三行数据: (1)近2周8成股民亏损超10%. (2)满仓中国梦. (3)股民两天亏一套三居. 例如,有个需求,从上面的3行数据中,把包含“股民”这…
一:尾随系统切换语言 1>创建好项目project后, 新建一个多语言文件: 2>加入要设置的语言类型: 3>加入成功 细心的朋友可能会发如今English后面写的是3 Files Localized,这是由于英语是系统默认加入的,并且同一时候为Main.storyboard 和 LaunchScreen.storyboard设置了多语言,我在自己加入的时候没有勾选这两项. 3>使用多语言文件在应用内设置相应语言 "label"="label"…
前言 这是一篇翻译,感谢Jonathan Tang. 原文地址:iOS 6 Tutorial: Integrating Passbook into Your Applications 另外,看到另一篇很好的教程:iOS 6 Passbook 入门 1/2 正文 什么是Passbook?Passbook是iOS6中提供的一个用于收集和显示票据(passes)的工具,这些票据包括电影票.登机牌.积分卡和礼品卡等.Passbook为开发者提供了一种用于在系统级别保存信息的方式.Passbook还能根据…
逻辑很简单: 1  app内所有activity继承自BaseActivity或BaseActivity派生出来的子类,BaseActivity中维护了一个静态的 app Activity访问栈,在创建和销毁时会执行压栈和出栈操作,所以mLocalStack内维持的是app中正在运行的activity. 2  将app的语言环境存储在SharedPreferences中,避免app重启时修改状态不改变:在BaseActivity创建时取出语言环境字符串并初始化Activity语言环境(initL…
Android原生APP内分享,可实现数据分享以及assets文件夹分享及私有文件分享 项目地址:https://github.com/json-pu/AndroidAppShare.git…
前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不用担心我findViewBy不到Id了哈哈,开个玩笑) 先上示例图: 代码实现: 布局文件(Data-Binding模式),很简单就是两行文字 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:a…
公司要求用vue做一个微信端的网站,其中还包含一些app的内嵌页.开始的时候没想那么多,就直接用vue-cli搭了一个单页的vue项目,可随着项目越做越大,页面越来越多,问题就开始暴露出来了. 众所周知,单页面程序优点是在页面初始化时加载相应的HTML.JavaScript 和 CSS,一旦页面加载完成了,就不用再做其他的加载和跳转了,极大的提升了页面的流畅性,提供良好的用户体验.那么问题来了,把所有东西都放在初始化的时候做,就造成了页面首次加载需要更长的等待时间.而对于那些作为app内嵌的页面…
看到网上文章一大把,看了这个觉得挺不错的,谢谢 iOS大全 公众平台; 原文:http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652155479&idx=3&sn=141d4fac9c1a03745fcf7a247db03bfb&chksm=8046ce36b73147202e1325a40a97781b79c505298a7ed7abc7961037715b8b07812d634787f1&scene=0…
最近一个一直在迭代的老项目收到一份新的开发需求,项目需要做国际化适配,简体中文+英文.由于项目中采用了storyboard和纯代码两种布局方式,所以国际化也要同时实现.上网查了些资料,实现了更改系统语言后,修改app内语言的问题.具体国际化方式可以参考下文: 3分钟实现iOS语言本地化/国际化 这篇文章讲的比较详细,很容易实现. 这个需求实现后不久,产品又给我提了一个需求,让我要在app内实现语言切换.还好之前的国际化也做了些准备,不慌不慌. 接下来就是方案的选定,通过广泛查阅资料,得出两个备选…
最近,做了个小需求.因为app是使用的自定义字体,所以产品想让h5的字体跟app的字体一致,减少脱离感.而一般来说,app内的h5页面,都是显示系统的默认字体.要想使用自定义字体,一般的做法是在h5里面加上字体库,然后app端,在加载url的时候,会去下载这些字体.但是字体包一个动辄3,4M,要是有多个字体库的话,不用想,体验会很糟糕.所以这种下载的方式不太可行.但它的好处就是,在所有的浏览器上都支持. 指定font-family 搜索一番,发现可以直接指定font-family为iOS字体库的…
使用Chrome开发者工具调试Android端内网页(微信,QQ,UC,App内嵌页等) 前言 移动端页面调试一直是好多朋友头疼的问题,iOS 由于其封闭的特性和整体较高的性能,整体适配相对好做,调试也由于 safari 的打通变得很方便.而 Android 系统,尤其是国内环境下的 Android 系统,由于版本跨度大,且各家厂商采用自研内核,使得其成为移动端页面问题出现的主要平台.工程师们采用了各种各样的方式来对其进行调试:alert 大法,页面引入或注入VConsole/eruda开启移动…
前言: 用appium做UI自动化,测试APP里面的H5和测试手机浏览器打开的H5的操作流程上是有所区别的.比如要测试APP内嵌的H5需要先操作appium启动APP,然后通过context切到webview模式,才能操作H5页面,但是如果测试手机网页的话就比较简单了,设置好浏览器比如选择Chrome,直接访问网址就好了. APP内嵌H5: 如何判断APP里面是否有H5呢, 使用uiautomaterview的时候发现页面元素含有webview,这就说明这个APP是混合应用,那么如何测试这个AP…
前言 开发中遇到需要获取SDK中的数据,由于无法看到代码,所以只能通过监听所有的网络请求数据,截取相应的返回数据,可以通过NSURLProtocol实现,还可用于与H5的交互 一.NSURLProtocol拦截请求 1.NSURLProtoco简介 NSURLProtocol的官方定义 An NSURLProtocol object handles the loading of protocol-specific URL data. The NSURLProtocol class itself…
原地址:http://zengwu3915.blog.163.com/blog/static/27834897201375105236580?suggestedreading 发了几天时间在网上折腾了几天,终于把App内购给弄好了.分享一下个人经验 一. 在iTunesConnect中创建内购的App,然后为这个App设置一些产品(付费道具等) 打开iTunesConnect网站https://itunesconnect.apple.com/WebObjects/iTunesConnect.wo…
问题由来 前段时间搭的一个Discuz论坛上挂了2个广告横幅,网站的话收录还不错,然后客户就反应百度app上无法看到横幅. 由于我没有下载百度app,看不到效果我将信将疑,因为电脑,手机浏览器都是ok的. 然后我下载了百度app,发现真的看不到横幅,原因是百度app默认开启了广告屏蔽了. 可能是它觉得横幅宽度过长或者是图片太大,或者是过滤掉了gif格式的图片?具体原因不详,百度app爱搞事情. 但是由于广告屏蔽是百度app默认开启的,所以也不可能要求每个打开你的论坛的人关掉百度屏蔽吧. 解决问题…
app内实现根据安卓和IOS平台进行更新 时间匆忙,相关操作以及信息都写在代码注释里面了,闲时在补充和完善. 功能在android项目中测试可用,ios上还未进行测试,如果ios有问题或者没问题的话都请回来告诉我一下... 这份代码只是纯功能上的实现,页面的话等闲下来以后补充一个,比如进度条,提示框,等... 如有Bug或者更好的提议请留言告知. 全局思路,在MyApp中监听事件,然后使用alert等弹窗事件处理用户操作即可. 在android>app>src>main>Andro…
IOS IAP APP内支付 Java服务端代码   场景:作为后台需要为app提供服务,在ios中,app内进行支付购买时需要进行二次验证. 基础:可以参考上一篇转载的博文In-App Purchase(iap)快速指南了解原理. 直接先上服务端测试通过的代码: import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net…
当自己的H5项目内置于手机app内时,遇到了样式问题或者想查看H5页面代码.数据交互以及缓存等情况来检查数据,此时可以使用谷歌浏览器的控制台远程调试手机,步骤如下: 一.手机开启允许usb调试 二.手机通过数据线与电脑连接,允许授权调试(有的手机可能不会弹框提示) 三.打开谷歌浏览器控制台,找到Remote devices 四.允许谷歌连接手机设备,正常可以看到自己的手机类型,如Le X820 五.点击设备,只要当前访问的是H5页面,就可以看到对应的链接 六.点击Inspect,出现弹框,可以调…
手游乱收费现象能被遏制?" title="APP内计费规范出台 手游乱收费现象能被遏制?"> 在一个混乱.无秩序的环境中竞争,虽然有可能不择手段地获取更多的利益,但也有可能被更强大的对手伤害.更大的概率是整个环境被"玩坏",最终树倒猢狲散.手游市场目前就是这样,虽然看起来生机勃勃,但问题频出,尤其是乱收费现象严重,不断损害着玩家利益.也正是在这种情况下,给了"正义之师"出招的机会. 近日,国内三大运营商中国移动.中国电信和中国联通…
vConsole:一个轻量.可拓展.针对手机网页的前端开发者调试面板,主要还是用于内嵌app页面时在手机上进行调试,打印完全和在PC端一样,方便大家找出问题所在. 不说废话直接进入主题,vConsole.js最新下载地址. 直接将vConsole.js引入项目中,需要注意的是:最好吧js引入到页面的最上边.这样刚页面会首先加载vConsole.js. <script src="path/to/vconsole.min.js"></script> <scri…
如果你的文件只是生成不会修改的话,可以这样: find * -mmin -15 2>/dev/null 如果可能修改,则需要这样(先创建一个 15 分之前的时间戳的文件,然后找比这个文件新的文件): touch -t $(date -d "15 min ago" +%Y%m%d%H%M) temp.tmpfind * -newer temp.tmp 2>/dev/nullrm -rf temp.tmp 脚本如下: #!/bin/bash echo -en "\e[…
前言 因为某个机缘,我拿到一个赛车app,玩了一会想买个装备,居然要我掏钱包,作为一名cracker,我觉得我的尊严受到了严重的蔑视(无奈钱包空空),我觉得要捍卫我那脆弱的玻璃心(钱包),所以,开干吧.我搜索了网上相关的帖子,发现这个apk的破解都是讲了关键点都在哪里,没有具体的关键点查找思路,所以我重新自己破解了一次,中间多次误入歧途,我把自己的详细思路发在这里,与所有的菜鸟共勉. 工具 Android killer v1.3.1.0  -- 用于搜索字符串和重打包,下文使用缩写AK Apkt…
做app开发,有时需要跳转打开外部的app应用,来促成引流或者分享等,这个时候就需要通过scheme跳转协议来完成. 使用scheme跳转外部app,就需要配置对应app的scheme,那这个scheme怎么来呢? 1.网上搜索常用的app的scheme 2.自己通过一些方法来获取 获取方法:电脑下载爱思助手 1.打开爱思助手,下载对应的app 2.打开该app所在文件夹,把后缀.ipa变成.zip后解压 3.找到解压后文件夹里面的Info.plist文件,打开,你会看到很多scheme,然后自…
问题(1)webview里面出现大图预览,点击手机上的返回,应该是图片预览消失 问题(2)键盘输入的时候,键盘会把输入框遮挡 ---------------------------------------------------------------------------------------- 一.手机上的返回按键 用户的体验应该是手机上按“返回”以后,返回到上一个浏览器的页面. 比如下面的的例子,假设我们从http://b.com这个 url跳转到 http://a.com 这个URL…
原地址:http://zengwu3915.blog.163.com/blog/static/2783489720137605156966?suggestedreading 三. 客户端使用StoreKit完成内购 添加Storekit.Framework,编写自己的storeObsever,用于处理交易,代码如下,其中completeTransaction和failedTransaction两个函数是自定义的用来处理交易成功与失败其它的就都是SKPaymentTransactionObserv…
兼容现象: 在App的webview里边,我们有时候会在页面里写自定义头部,会使用到fixed定位,我们想要的效果是,页面无论怎么滑动,这个自定义的头部始终是固定在顶部的,但是在ios 11以上的版本里边,问题来了,当我们快速滑动页面的时候,页面滚动期间,这个fixed定位的头部会随着页面的滑动滑上去,等到上滑动作执行完毕时,头部才又出现.这个问题在安卓及ios11以下的版本都是没有的. 解决: 直接将这个页面控制在一个盒子里边去滑动,头部相对于这个盒子进行绝对定位.但是这样写带来的副作用就是除…
在我们的APP中,可能会使用多种服务,例如定位.推送.相册.拍照.通讯录等.选择是否允许一般只出现在安装app后第一次打开时,可是我们依然需要在使用到某种服务的时候判断是否用户是否允许了该服务,因为用户有可能自己关闭了自己app的这种服务器. 通常我们的做法是,给一个弹窗,提示开启选项的路径:例如:这样 也可以做一张长图,用ScrollView显示出来,可能会体验稍微好一点. 目前更好的做法,大概是直接跳转到app的设置界面,像下面这样: 直接上代码: [[UIApplication share…
一.内置的H5应用唤起(返回)app 可以用 intent url 来唤起,但要求 webview 实现 shouldOverrideUrlLoading() ,解析 uri,找到对应的 activity,然后启动. 二.系统自带返回键控制H5应用的内部跳转 Android/iOS代码里面监控返回键,Android/ios的WebView自带的接口 调用js的一个全局回调函数,这个回调函数就是js操作了,通过回调函数操作控制H5内部跳转…