精华内容
下载资源
问答
  • 原标题:Android N或取消原生应用抽屉按照惯例,每年谷歌都将会推出一款新版安卓系统。此前有消息称,谷歌将于5月18日在谷歌老家山景城举行的I/O 2016大会上推出新一代Android系统——Android N(Android 7.0),有望...

    原标题:Android N或取消原生应用抽屉

    按照惯例,每年谷歌都将会推出一款新版安卓系统。此前有消息称,谷歌将于5月18日在谷歌老家山景城举行的I/O 2016大会上推出新一代Android系统——Android N(Android 7.0),有望带来同屏多任务功能。

    而现在外媒给出消息称,安卓系统的最大特色、也是元老级设计——应用抽屉将在Android 7.0上消失。

    其实,很多厂商的定制化安卓早就取消了应用抽屉(大多数国际厂商不会取消抽屉),这样减少了操作层级,在理论上可以加快用户的搜寻速度,提高用户体验。

    be8ab711886189f273d9bf04f04c7561.png

    消息人士还强调,其是简单体验Android 7.0后,发现这一设计改变的,而调整之后的新系统将更加趋近iOS了。

    据此前消息显示,谷歌将为Android N系统添加更多的电池管理选项和允许用户卸载自带软件,改进备份和恢复功能。同时,Android N的性能和续航还会有所提升,带来流畅的跨设备体验。

    此外,Android N系统将会拥有iPhone 6s的3D Touch功能,届时Android用户将能获得相似的移动体验。Android N系统或将在生物识别技术支持方面有所改变,或带来类似于微软Windows Hello的功能。

    不过也有消息称,Android N将会受到Chrome OS的一部分影响。最终,Android N将带来怎样的新体验,我们还是等待谷歌在I/O 2016大会上为我们揭晓吧!返回搜狐,查看更多

    责任编辑:

    展开全文
  • 同样需要包名,代码如下: 这里是跳转应用市场通用的uri Uri uri = Uri.parse("market://details?id=你需要跳转的应用包名"); Intent intent =new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);

    最近项目里有这方面的需求,目前项目只接入了百度和高德地图,后续再补充。

    准备工作:

    你要打开的地图的包名:

    百度地图:com.baidu.BaiduMap

    高德地图:com.autonavi.minimap

    判断手机上是否装有这两个地图的方法:

    利用包管理类 PackageManager,判断手机是否装有这两个地图app。

    /**

    * 判断手机是否安装百度或者高德地图

    */

    public static boolean ifInstallBaiduMap(Context context) {

    return  isPackageInstalled(context, "com.baidu.BaiduMap");

    }

    /*

    * 传入上下文和你要检测的包名

    */

    private static boolean isPackageInstalled(Context c, String pn) {

    PackageManager packageManager = c.getPackageManager();

    try {

    PackageInfo pi = packageManager.getPackageInfo

    (pn,PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);

    if (null != pi) {

    return true;

    }

    }catch (PackageManager.NameNotFoundException e) {

    e.printStackTrace();

    return false;

    }

    return false;

    }

    1. 打开本地百度地图app

    如果手机上已经装有百度地图,休要传入uri协议:

    附上百度开发者的api文档地址,有必选和非必选参数,以及每个参数的意义。http://lbsyun.baidu.com/index.php?title=uri/api/android

    我们做的是线路规划功能,具体参数可参照2.3.2,destination是目的地,也就是终点,可传经纬度和名称,名称作为显示使用,如果都传了的话,经纬度优先,最后拼接的参数可根据具体功能拼接即可,而且我的例子都只传了终点经纬度,默认起点是你定位你当前的位置,定位权限会提示你开启,如果想自定义起点,参照文档传入具体参数即可。

    Intent intent = new Intent();

    intent.setData(Uri.parse("baidumap://map/direction?destination=" +

    终点lat +"," +终点lng +"&mode=driving&sy=0&index=0&target=1"));

    intent.setPackage("com.baidu.BaiduMap");

    //启动该页面即可

    startActivity(intent);

    2.打开百度地图h5界面,也就是百度地图的web界面

    同样是百度API的链接http://lbsyun.baidu.com/index.php?title=uri/api/web

    可根据自己的需求组合不同的uri,我们做的是相关公交、驾车、步行路线规划的,所以只看这个就好了,举例:

    location和上面那个destination的属性一致,title相当于name.

    Uri uri = Uri.parse("http://api.map.baidu.com/marker?location=" +

    终点lat +"," +终点lng +"&title=我的位置&output=html");

    Intent intent =new Intent(Intent.ACTION_VIEW, uri);

    startActivity(intent);

    3. 打开本地高德地图app,跟打开百度地图类似。

    具体用法和百度地图类似,起点、终点和服务类型都可参照文档。

    最后面的参数一定要重视,我写的时候dev写了1,然后就自带了偏移,导致定位不准。

    附上API文档地址:

    //将功能Scheme以URI的方式传入data

    Uri uri = Uri.parse("androidamap://route/plan/?sourceApplication=" +

    你自己的应用包名(官方文档说是保证服务质量) +"&dlat=" +终点lat +"&dlon=" +终点lng +"&dname=" +终点名称 +"&dev=0&t=0");

    intent.setData(uri);

    //启动该页面即可

    startActivity(intent);

    4.打开高德地图h5界面,也就是高德地图的web界面。

    高德地图api地址:http://lbs.amap.com/api/uri-api/gettingstarted

    具体用法:

    Uriuri =Uri.parse("http://uri.amap.com/marker?position="+终点lng+"," +终点lat+"&src="+自己应用的包名  +"&coordinate=gaode&callnative=0");

    Intent intent =new Intent(Intent.ACTION_VIEW, uri);

    startActivity(intent);

    2. 如果什么地图都没有装,可以跳转h5界面,或者应用市场。

    同样需要包名,代码如下:

    这里是跳转应用市场通用的uri

    Uri uri = Uri.parse("market://details?id=你需要跳转的应用包名");

    Intent intent =new Intent(Intent.ACTION_VIEW, uri);

    startActivity(intent);

    展开全文
  • 要问到Flutter和Android原生App,在开发是有何区别,编程方式是绕不开的话题。Flutter采用声明式编程,Android原生开发则采用命令式编程。声明式编程 VS. 命令式编程我们首先要明确的,是何为声明式编程,何为命令式...

    要问到Flutter和Android原生App,在开发是有何区别,编程方式是绕不开的话题。Flutter采用声明式编程,Android原生开发则采用命令式编程。

    声明式编程 VS. 命令式编程

    我们首先要明确的,是何为声明式编程,何为命令式编程。

    何为声明式编程

    摘录一段来自百度百科的定义:

    声明式编程通常被定义为除命令式以外的编程范式。同时存在一些其他的定义,这些定义不是简单的将声明式编程和命令式编程做对比,例如:声明式编程是告诉计算机需要计算“什么”而不是“如何”去计算;任何没有副作用的编程语言,或者更确切一点,任何引用透明的编程语言;任何有严格计算逻辑的编程语言。这些定义有一些是重合的。

    简单地理解:声明式编程就是告诉“机器”你想要的是什么,让机器想出如何去做。

    何为命令式编程

    依旧先看它的定义(来自百度百科):

    命令式编程(英语:Imperative programming),是一种描述计算机所需作出的行为的编程典范。几乎所有计算机的硬件工作都是命令式的;几乎所有计算机的硬件都是设计来运行机器码,使用命令式的风格来写的。

    简单地理解:命令式编程就是需要我们命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。

    举例说明

    举个例子,看下面两种解决问题的方法:方法一:

    蔬菜.做成菜(蔬菜沙拉)方法二:

    洗干净(蔬菜)混合(蔬菜, 沙拉)放入盘中(混合物)你能分清哪一种方法是何种编程方式吗?很明显,方法一是声明式,方法二是命令式。 但是,尽管上面两种方法看上去有所区别,但本质上做的事情仍然是一致的。 我们看到方法一虽然没有像方法二那样实实在在地“做事”,实际上是将方法二中的步骤整合在了“做成菜”的函数中。在实际编码时,我们在开发这部分功能时,就可以完全不用关心做菜的具体过程了。这样看上去更清晰,维护起来也更灵活。

    Jetpack Compose

    我们若想使用声明式编程来开发原生Android App,需要借助Jetpack Compose组件。该组件目前在测试版的Android Studio中支持。

    必备的开发工具

    如前文所述,我们需要安装测试版的Android Studio(Canary Build)。下载地址如下:https://developer.android.google.cn/studio/preview当然,测试版的Android Studio依然可以在Mac、Windows和Linux上运行,且可以和正式版本使用同一套SDK,本文采用Mac版配合模拟器进行演示。

    创建带有Compose支持的工程

    安装好Canary Build的测试版Android Studio后,新建一个项目,在新建项目向导中,选择Empty Compose Activity。

    886a4158892eda9796562243df52ff8f.png

    要注意的是,要使用Compose特性,需要至少API Level 21以上的SDK支持,且只能使用Kotlin语言。

    探索代码

    如上方法创建好Android工程后,打开MainActivity.kt,可以看到一个界面预览窗口。在之前的版本中,这样的预览窗口好像只在xml编辑器视图中出现过。接下来我们阅读默认存在的代码,可以发现这其实是一个Hello World项目。 下面我们来尝试使用下面的代码片段修改原有代码:

    class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { HelloComposeTheme { Greeting(); } } }}@Composablefun Greeting() { MaterialTheme() { Column { Image(asset = imageResource(id = R.drawable.header)) Text(text = "第一行") Text(text = "第二行") Text(text = "第三行") } }}然后重新Build,观察右侧的预览界面(header为png或jpg格式图片)。

    c732e46630d838fabd7854439466a48c.png

    如上图所示,在下一版本的Android Studio中,结合Compose特性使用,可以实现更加便利的界面预览。 接下来我们观察Greeting()方法中的代码,是不是感觉似曾相识? 如果你有了解过Flutter,不难发现,这样的写法其实和Flutter中的UI编程方法是一致的。

    总结

    好了,干货部分到此结束,最后提醒大家,由于该特性目前尚未作为正式版发布,所以不建议大家在生产环境中大量使用。祝各位工作顺利,产品没Bug,写代码一次过。

    举报/反馈

    展开全文
  • 这种情况下,有时候会想要在H5中调用android原生写的的方法(ios暂未实践) h5内调用Android的方法 // 调用android原生定义的方法 (saveWebToken在Android代码中已经定义好),并传入参数 if (window.android &...

    前言:在为了提高app开发效率的前提下, app只写壳子,里面嵌套整个的完整的项目;或者在app里面嵌套部分的页面。这种情况下,有时候会想要在H5中调用android原生写的的方法(ios暂未实践)

    h5内调用Android的方法
    // 调用android原生定义的方法 (saveWebToken在Android代码中已经定义好),并传入参数
    if (window.android && window.android.saveWebToken) {
      window.android.saveWebToken(this.token);
    }
    

    android内部具体怎么定义的,请参考文章:h5调用android的方法
     

    文章仅为本人学习过程的一个记录,仅供参考,如有问题,欢迎指出!

    对博客文章的参考,若原文章博主介意,请联系删除!请原谅

    展开全文
  • App上架应用市场所需资料说明前言正文一、确认上架平台二、企业开发者账号三、应用上架资料四、等待平台审核 前言   作为Android开发工程师,如果你的人生中没有自己上架过应用,那是很幸运的,因为那样你就不用去...
  • 1. 准备把某系统双开的两个app的信息进行对比1.1 目录的对比1.1.1 data目录对比原应用:/data/user/0/com.luoyesiqiu.crackme/files被复制的应用:/data/user/999/com.luoyesiqiu.crackme/files1.1.2 apk所在目录...
  • Mac下搭建ReactNative开发环境一文中讲过了如何搭建环境以及创建一个ReactNative项目,很多时候我们会在原生项目开发中集成ReactNative,我们该怎么做呢?下面我们一步步实现吧。1.打开终端进入原生项目的根目录,输入...
  • 我们知道flutter跨平台的原理是采用dart语言预编译的方式直接编译出各个平台的原生代码,而不需要类似RN用JavaScript桥接器执行原生代码。...我们分别用 flutter 和 android 原生来编写一个ui效果一模一样的 a...
  • 国内有简网 App 工场、道有道、ECMobile这么简洁——你只需将一个集成过的文件夹放进ECShop(一款被广泛使用的开源 B2C 网店)安装根目录,无需任何配置,就可以用 iOS 或 Android 工程文件封装一个原生应用。...
  • Android原生系统真的那么好用吗? 这种问题当然是否定的。原生 Android(指的是直接基于 AOSP 构建的而非手机厂商出厂固件修改的第三方 ROM,但包括 Nexus/Pixel 或其它被 Google 直接支持的手机的可能是闭源的出厂...
  • Android11中系统原生电话应用未设置为默认应用 以下两种方法针对本人遇到的情况进行解决: 方法一: 遇到此类问题,建议抓取一个刷新版本后,首次开机启动的log。接下来搜索关键字"dialer",或许这时你就已经找到原因了...
  • 简述DownloadManger是android 2.3(API 9)开始提供的系统服务,用于处理长时间的下载操作。应用场景是客户端请求一个URL地址去下载一个目标文件。DownloadManger可以构建一个后台下载服务,在发生故障或连接更改、...
  • 安卓原生字体

    2021-06-02 15:21:18
    看个人喜欢,字体样式多种多样的,原生态的字体能够正常显示所有的字,换字体的话可能会出现有些无法识别的繁体字,所以只能看个人喜欢,我现在用着这个字体,你可以看一下androidapp开发中默认的字体是什么字体?...
  • 当时业务的需求是这样的,H5有一个活动商品列表的界面,IOS和Android共用这一个界面,点击商品可以跳转到Android原生的商品详情界面并传递商品ID; 大概就是点击H5界面跳转到Android原生界面;好了,需求已经分析...
  • uniapp 调用 android 原生sdk

    千次阅读 2021-09-24 13:00:40
    1.Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区 2.HBuilderX 3.App离线SDK下载:最新android平台SDK下载 3.1.10版本起需要申请Appkey,具体请点击链接 SDK目录说明 |-- HBuilder-Hello ...
  • 为了更好的测试还是要看下Android分享实现分享的方式,然后才能更好地评估测试时间和设计测试用例~先看下Android原生的分享方式吧。Android最常见的分享方式是用intent在程序之间发送和接收数据,创建一个intent时...
  • 近日小米MIUI市场副总监@黄龙中 就在微博上征求米粉意见,暗示MIUI 9可能长下面这样。小米最新官方主题《几何》,浓浓flyme风自2010年MIUI横空出世,国产定制安卓ROM在国内掀起了一阵风暴。MIUI成功后,乐蛙、点心等...
  • 上一篇文章介绍了如何授权Forge app访问Autodesk 云应用数据,即,获取三条腿的token。但移动端的原生app,授权码返回到发起请求app的某个Activity,可如何得知是哪个Activity并且跳转到此Activity?这时就要用到URL...
  • 1. 添加固定版本react #我这时相对稳定的版本 npm i --save react@16.8.6...2.报错:A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade A failure occurred wh...
  • Demo 地址:码云一、Android API提供的官方交互方式1.webView.getSettings().setJavaScriptEnabled(true);设置webview运行执行js代码。2.在提供给H5使用的方法上添加注解@JavascriptInterface,只有存在此注解的方法...
  • 这里有一大堆的原生组件可以用,一些是平台自带的,另一些是第三方库的,而更多的正在其他项目中被使用。...RN中对安卓原生组件的创建和管理都是通过继承ViewManager或SimpleViewManager。SimpleViewManage...
  • 在用Qt开发android应用的时候,有一个需求是通过调用android原生接口去实现图片分享功能,原理很简单,首先在java文件中用android接口封装一个分享功能的方法,然后在C++中调用QAndroidJniObject::callStaticMethod...
  • Android 5.0以后允许在原本用户上面,创建一个企业空间,在企业空间里,可以包含有多个应用,这些应用和原本用户的应用是独立的。2个空间(企业空间和用户空间)之前的数据也是分开的。这样可以更好的保证企业空间内...
  • 【PConline 海选导购】尽管早在2011年10月份,谷歌和三星就共同发布了代号为“冰激凌三明治”的Android 4.0系统,但时至今日,搭载原生搭载Android 4.0系统的平板电脑并不多见。即使有些厂商号称旗下的平板电脑可以...
  • 现在越来越多的智能手机用户喜欢使用原生Android系统,因为原生Android系统更加纯净流畅,没有乱七八糟的第三方厂商软件预装,安全性更高,最重要的是原生Android可以最快获得系统更新。也有人喜欢用第三方定制的...
  • Android开发现状 移动端开发的现状是什么?我们可以从自己写的代码中寻找线索。以 Android 为例,很多大公司的移动端开发者写的最多的代码是这样的: LinearLayout layout = new LinearLayout(); layout.addView...
  • H5页面跳转至应用市场Android/ios)

    千次阅读 2021-01-18 16:31:49
    H5页面跳转至应用市场Android/ios) methods: { goAppStore() { var u = navigator.userAgent; var isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1; //android终端 var isIOS = !!u...
  • 通过H5唤起原生应用是一个常见的需求,可以实现引流的作用,而且原生页面的体验一般要比H5体验性好些。URL scheme这种唤端媒介是一个比较妥当的实现H5唤起原生应用的方式。1 app端的需求H5唤起app,是要打开指定页面...
  • minSdkVersion必须大于15 配置微信sdk所需权限 <!-- 微信SDK所需权限-->...uses-permission android:name="android.permission.INTERNET" ...uses-permission android:name="android.permission.ACCESS_WIF...
  • B4A B4A是Android的基础版,这是一种可简化编程的Android应用程序开发工具。这是一个IDE,可以允许开发者使用Basic语言来创建Android移动应用。Basic语言是一种过程化编程语言,因为其简单易学,几乎普通的英语就...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,599
精华内容 34,639
关键字:

安卓原生应用市场