-
2019-01-23 23:55:45
总共有3种情况
一,从App A跳转到App B
示例1:
从一个 APP A 跳转到另一个 APP B的某个activity 例如DemoActivity
App A开启跳转的代码如下( 前提:知道要跳转应用的包名、完整的类名)Intent intent = new Intent(); //前提:知道要跳转应用的包名、类名 ComponentName componentName = new ComponentName("com.shangmi.demo", "com.shangmi.demo.DemoActivity"); Bundle bundle=new Bundle(); bundle.putInt("key",i++); intent.putExtras(bundle); intent.setComponent(componentName); startActivity(intent);
APP B的DemoActivity配置如下:
android:exported="true"
在 AnroidManifest 文件中给 DemoActivity节点设置 android:exported=“true”,该属性表示当前 activity 能否被另外一个Application 的组件启动,true允许启动,false不允许。默认是false
APP B的DemoActivity获取数据方式如下:
直接在onCreate()方法里面获取(DemoActivity为标准启动模式)Intent intent=getIntent(); if (intent!=null) { Bundle bundle=intent.getExtras(); if (bundle!=null) { int value=bundle.getInt("key"); et.setText(value+""); } }
这里注意下 如果DemoActivity是singleTask/singleInstance启动模式,在DemoActivity没有关闭
的情况,第2次重复开启DemoActivity,就应该在如下方法里面获取数据:@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); if (intent!=null) { Bundle bundle=intent.getExtras(); if (bundle!=null) { int value=bundle.getInt("key"); et.setText(value+""); } } }
二,从App A或者外部链接 跳转到App B的DemoActivity
App B的DemoActivity在清单文件AndroidManifest中配置如下:<activity android:name=".DemoActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> //系统默认添加的,一定要如下配置 <category android:name="android.intent.category.DEFAULT" /> //想被浏览器web链接激活,一定要如下配置 <category android:name="android.intent.category.BROWSABLE" /> <data android:host="main" android:scheme="app" /> </intent-filter> </activity>
App A激活的话:代码如下:
Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_BROWSABLE); intent.setData(Uri.parse("app://main")); //这里Intent当然也可传递参数,但是一般情况下都会放到上面的URL中进行传递 intent.putExtra("", ""); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
如果是web链接激活的话:代码如下(通过web.html中的A标签来操作)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>html页面</title> </head> <body> <h1>测试通过约定scheme,在浏览器中激活app B</h1> <a href="app://main/abc">点我激活DemoActivity</a> </body> </html>
App B的DemoActivity获取数据的方式如下:
Intent intent= getIntent(); //获取完整的数据 String dataString = intent.getDataString(); Uri uri = intent.getData(); if (uri != null) { //完整的url信息 String url = uri.toString(); //scheme部分数据 String schemes = uri.getScheme(); //host部分数据 String host = uri.getHost(); }
三,通过已知的包名 跳转到App B的DemoActivity(其实通过包名打开的是App B的launcher界面,launcher界面接受到数据后跳转到DemoActivity)
激活的代码如下:Intent intent=getPackageManager().getLaunchIntentForPackage("com.shangmi.demo"); if (intent!=null) { i++; Bundle bundle=new Bundle(); bundle.putInt("key",i); intent.putExtras(bundle); // intent.putExtra("bundleKey",bundle); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }
App B的DemoActivity中获取数据的方式和第一种情况 是一样
结尾:如果有帮助到你,就请你点赞关注一下啦
更多相关内容 -
Android 在一个APP里打开另一个APP
2020-06-06 10:54:05不知道你们有没有注意过,每次打开一些软件的时候都会有广告引导页,有时候手滑点到了,会有进入手机上的另一个APP,这有没有引起你的注意呢? 正文 为了测试这个功能,首先要创建两个项目,然后运行起来都安装在你...前言
不知道你们有没有注意过,每次打开一些软件的时候都会有广告引导页,有时候手滑点到了,会有进入手机上的另一个APP,这有没有引起你的注意呢?
运行效果图
正文
为了测试这个功能,首先要创建两个项目,然后运行起来都安装在你的手机上,这里为了方便了解,取名就是应用A和应用B,流程就是A应用里面打开B应用。
首先当然是创建项目了
DemoA
DemoB
创建好之后,别的先不管,都在手机上安装一下再说
① 打开另一个APP
接下来在DemoA的MainActivity里面写一个按钮,用于点击之后打开DemoB应用
<Button android:id="@+id/btn_open_b" android:text="打开DemoB" android:textAllCaps="false" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
也在DemoB的布局文件改一下显示内容<TextView android:textSize="18sp" android:textColor="#000" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="DemoB" />
运行一下
这样就打开了。那假如我要传递数据到DemoB呢?
② 数据传递
传数据其实就跟平时单个APP内部不同页面传数据类似,也是用Intent
然后在另一个APP里面接收并显示出来。现在先修改一下DemoB的布局,增加一个TextView用来显示接收的内容。<TextView android:id="@+id/tv_info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:textColor="#000" android:textSize="16sp" />
DemoB的MainActivity里
一旦两个应用程序里面改动了代码你就要在手机上运行一下,否则你改动的代码就不会生效然后运行一下:
传值的问题就解决了。
③ 打开指定页面
通过包名跳转APP是进入默认的启动页面,你可以打开你的AndroidManifest.xml文件查看
那个Activity下面有这个默认启动就是那个<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
至于要打开指定的页面有两个方法
1.通过包名、类名
首先在DemoB的下面再创建一个TestActivity,简单加一个TextView
因为是要DemoB的TestActivity页面,所以这个activity在AndroidManifest.xml中需要配置android:exported 属性,布尔类型,是否支持其他应用访问目标 Activity,默认值为 true;
android:exported="true"
否则你跳转会报错的,现在运行DemoB,使改动的代码生效
然后修改DemoA里面MainActivity的代码
运行效果
这样就可以了。2.通过Action
修改DemoB的AndroidManifest.xml
然后运行在手机上,再修改DemoA的MainActivity
运行效果
其实还有一种方式是通过URL打开另一个APP,但是我不推荐这样做,为什么?没有原因… -
[干货]手把手教你写一个安卓app
2021-04-27 21:06:49这里我们介绍一种快速入门的方法来制作一款app,就算你是零基础小白没有学习过java语言,我相信看完我的文章半天时间你也会做一个安卓app。本文针对初学者,大佬勿喷啊! 1. 创建HelloWorld项目 这里我就不介绍如何...
摘要:最近有很多小伙伴在后台留言:Android Studio。我想大家是想写一个手机app,前面已经分享了在QT上如何写一个安卓蓝牙app,虽然qt可以做app,但是比起Android Studio还是差很多。这里介绍一种快速入门的方法来制作一款app,就算你是零基础小白没有学习过java语言也没有关系,相信看完我的文章,半天时间也能做一个安卓app。本文针对初学者,大佬勿喷啊1. 创建HelloWorld项目
这里我就不介绍如何安装这个Android Studio软件了,网上有很多教程或者去B站找对应的安装视频就可以了。安装好软件之后就开始按照下面的步骤新建工程了。
选择一个空应用
按照图片的配置方法,设置好工程名和路径
2. 修改阿里云镜像源
这一步一定要需要,不然的话你需要编译很久,因为在sync的过程中要下载的很多资源是在外网的,这里使用阿里云镜像源就会很快。修改后只对本项目有效:
第一处代码
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
第二处代码
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
这样编译起来就会快很多,建议这样修改,不然很可能下载失败导致编译不成功!
3. 真机调试
我们可以编译完成后打包成apk文件发送到你的手机进行安装运行,但我建议还是手机连上数据线在线调试比较好,省去很多时间也非常方便。手机连接电脑后打开USB调试,这里以华为荣耀V10手机作为参考。
- 1.选择USB连接方式是MIDI(将设备用做MIDI输入设备)
- 2.在设置的“系统和更新”—>开发人员选项—>打开USB调试
设备作为MIDI设备
开启USB调试
然后点击这个三角形,就可以看到手机上的APP显示了。
运行结果和上图一样。到这里我们已经完成了一个app的制作怎么样是不是很简单啊!
接下来介绍一下代码目录,方便大家能够快速的掌握和了解项目所生成文件功能和用途!
4. Android代码目录
这里有两种文件架构,所打开的也是两种不同的目录文件。
5. Android应用程序大致启动流程
5.1. APP配置文件
5.2. 活动文件(Java)
5.3. 布局文件(XML)
Android设计讲究前后端分离设计,上面的java文件是后端,引入了activity_main这个前端界面布局文件,如果想再设计一个界面就在layout文件夹下再新建一个 .xml文件就可以了。
5.4. res资源目录(统一管理)
5.4.1. colors.xml
三个颜色有点少我们可以在加一些颜色但这里面来。<color name="white">#FFFFFF</color> <!--白色 --> <color name="ivory">#FFFFF0</color> <!--象牙色 --> <color name="lightyellow">#FFFFE0</color> <!--亮黄色 --> <color name="yellow">#FFFF00</color> <!--黄色 --> <color name="snow">#FFFAFA</color> <!--雪白色 --> <color name="floralwhite">#FFFAF0</color> <!--花白色 --> <color name="lemonchiffon">#FFFACD</color> <!--柠檬绸色 --> <color name="cornsilk">#FFF8DC</color> <!--米绸色 -->
5.4.2. strings.xml
5.4.3. styles.xml
***
5、主界面布置
5.1线性布局(LinearLayout)
线性布局的形式可以分为两种,第一种横向线性布局,第二种纵向线性布局,总而言之都是以线性的形式一个个排列出来的,纯线性布局的缺点是很不方便修改控件的显示位置,所以开发中经常会以线性布局与相对布局嵌套的形式设置布局。
5.2相对布局(RelativeLayout)
相对布局是android布局中最为强大的,首先它可以设置的属性是最多了,其次它可以做的事情也是最多的。android手机屏幕的分辨率五花八门,为了考虑屏幕自适应的情况,在开发中建议大家都去使用相对布局,它的坐标取值范围都是相对的,所以使用它来做自适应屏幕是正确的。
5.3帧布局(FrameLayout)
帧布局原理是在控件中绘制任何一个控件都可以被后绘制的控件覆盖,最后绘制的控件会盖住之前的控件。界面中先绘制的ImageView 然后再绘制的TextView和EditView,后者就会覆盖在前者上面。
5.4绝对布局(AbsoluteLayout)
使用绝对布局可以设置任意控件在屏幕中XY坐标点,和帧布局一样绘制的控件会覆盖住之前绘制的控件,不建议大家使用绝对布局。android的手机分辨率五花八门,使用绝对布局的话在其它分辨率的手机上就无法正常的显示了。
5.5表格布局(TableLayout)
在表格布局中可以设置TableRow,可以设置表格中每一行显示的内容以及位置 ,可以设置显示的缩进,对齐的方式。
在实际应用中线行布局和相对布局是最常用的,一般自己写的app布局都相对比较简单,所以这里我们使用线性布局。打开APP配置文件中的
activity_main.xml
,就可以在这里面愉快的编程了。如果你之前没有玩过Android Studio也没有关系,左边修改右边预览多试试几次就大概明白了。在这里我们可以修改点击图片所转换的网址,大家打开源码就知道如何修改了,这里就不在赘述!
在
activity_main.xml
文件中我们可以修改界面的布局。
到这里基本上一个简单的安卓应用就完成了。只要你安装了Android Studio软件并且拿到我的源码就可以愉快的玩耍了。什么?你拿到我的代码却不能正常编译通过?下面就教大家如何把别人的源码拿到自己的软件中编译通过!
6、代码移植
以下是需要修改文件的地方,具体修改成啥样,可以参考一个你可以打的开的工程中的配置,参考对应的文件即可。
1.修改build.gradle文件
2.修改app/build.gradle文件
修改版本号
3.修改gradle/wrapper/gradle-wrapper.properties
这个地方修改成你可以打开的工程的 . zip包
4.修改local.properties
这个地方是你的软件安装路径所在的位置,要修改成你自己的安装路径
公众号后台回复:firstapp,即可获取源码和教程文档! -
Android APP打开另一个APP完整逻辑实现
2018-05-09 18:12:03一丶概述前段时间配合开发,完成了一个APP拉起另一个...市面上比较流行的解决办法,第一个就是现在说的新开发一个管理型APP,其他APP需要时再下载,运用时拉起,另一个就是插件化,直接将多个APP合成一个APP,这个...本文出自:https://blog.csdn.net/DT235201314/article/details/80255143
一丶概述
前段时间配合开发,完成了一个APP拉起另一个APP的需求,负责接收数据跨登录部分。当然整个实现思路挺感兴趣就了解一下。先说说需求拉起另一个APP是为了方便统一使用管理,有些公司APP较多,部分人只需要用到部分APP,需要用到时就下载。市面上比较流行的解决办法,第一个就是现在说的新开发一个管理型APP,其他APP需要时再下载,运用时拉起,另一个就是插件化,直接将多个APP合成一个APP,这个感兴趣也可以了解一下。
二丶效果图
三丶需求分析
1.A点击拉起B;
2.如果B没安装,下载安装;
3.如果B已安转,未在后台运行点击打开B,传值账号密码,做跨登录;
4.如果B已安装,且正在后台运行,A打开B直接显示在后台运行的页面;
简版流程图:
四丶原理与实现
1.先说A拉起B可实现的几种方法
(1)包名,特定Activity名拉起
Intent intent = new Intent(Intent.ACTION_MAIN); /**知道要跳转应用的包命与目标Activity*/ ComponentName componentName = new ComponentName("kuyu.com.xxxx", "kuyu.com.xxxx.xxx.login.WelcomeActivity"); intent.setComponent(componentName); intent.putExtra("", "");//这里Intent传值 startActivity(intent);
B应用需要在manifest文件对应Activity添加
android:exported="true"
(2)包名拉起(这里就是进去启动页)
Intent intent = getPackageManager().getLaunchIntentForPackage("kuyu.com.xxxx"); if (intent != null) { intent.putExtra("type", "110"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }
(3)url拉起
Intent intent = new Intent(); intent.setData(Uri.parse("csd://pull.csd.demo/cyn?type=110")); intent.putExtra("", "");//这里Intent当然也可传递参数,但是一般情况下都会放到上面的URL中进行传递 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
B应用manifest文件需配置(注意:在原有intent-filter下方另外添加,不是在原先里面,两个同时存在)
<intent-filter> <data android:host="pull.csd.demo" android:path="/cyn" android:scheme="csd" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter>
优点:不暴露包命 缺点:host path schemeA应用和B应用得规定死2.判断B应用是否安装
/** * 检查包是否存在 * * @param packname * @return */ private boolean checkPackInfo(String packname) { PackageInfo packageInfo = null; try { packageInfo = getPackageManager().getPackageInfo(packname, 0); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return packageInfo != null; }
3.判断B应用是否在后台运行并直接打开
public static Intent getAppOpenIntentByPackageName(Context context,String packageName){ //Activity完整名 String mainAct = null; //根据包名寻找 PackageManager pkgMag = context.getPackageManager(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED|Intent.FLAG_ACTIVITY_NEW_TASK); List<ResolveInfo> list = pkgMag.queryIntentActivities(intent, PackageManager.GET_ACTIVITIES); for (int i = 0; i < list.size(); i++) { ResolveInfo info = list.get(i); if (info.activityInfo.packageName.equals(packageName)) { mainAct = info.activityInfo.name; break; } } if (TextUtils.isEmpty(mainAct)) { return null; } intent.setComponent(new ComponentName(packageName, mainAct)); return intent; } public static Context getPackageContext(Context context, String packageName) { Context pkgContext = null; if (context.getPackageName().equals(packageName)) { pkgContext = context; } else { // 创建第三方应用的上下文环境 try { pkgContext = context.createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY | Context.CONTEXT_INCLUDE_CODE); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } return pkgContext; } public static boolean openPackage(Context context, String packageName) { Context pkgContext = getPackageContext(context, packageName); Intent intent = getAppOpenIntentByPackageName(context, packageName); if (pkgContext != null && intent != null) { pkgContext.startActivity(intent); return true; } return false; }
if (checkPackInfo("kuyu.com.xxxxx")) { openPackage(this,"kuyu.com.xxxxx"); } else { Toast.makeText(this, "没有安装" + "",Toast.LENGTH_LONG).show(); //TODO 下载操作 }
这里运用的是模拟点击图标启动,不会出现程序多开,和栈顶Activity重复或者顺序错乱的问题。当然Activity的LaunchMode最好设为“singletop”
4.B应用接受传值跨登录操作
一般启动页有几种操作
(1)定时直接跳转登录页面
这个就简单了,直接在handle发送跳转做判断接收intent操作就可以了
例:
if(getIntent().hasExtra("xxxx")){ otherOpen(); }else { mHandler.removeMessages(0); mHandler.sendEmptyMessageDelayed(0, 3000); }
(2)做了用户信息保存,跳过登录的,这个时候就通过handle的消息判断,做出相应操作
例:
/** * 跳去首页/登录页面 */ Handler handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.arg1) { case 1009: goToActivity(MainActivity.class); WelcomeActivity.this.finish(); break; case 1010: gotoLogin(handler1, runnable); break; } } };
五丶参考文章
Android从一个APP跳转到另一个APP的主界面或某页面,并传递数据通过 PackageManager 获得你想要的 App 信息
如果文章对你有帮助,欢迎点赞关注
源码下载:
https://github.com/JinBoy23520/CoderToDeveloperByTCLer
写在最后微信扫码提问
-
如何知道一个App的包名
2018-10-08 10:20:27包名(Package name)在Android系统中是判断一个App的唯一标识,不同的App可以有同样的名字,但是它的包名不可以相同 例如我可以自己编译生成一个App也叫“微信”,但是我App的包名不能为com.tencent.mm(微信的包名... -
五个老司机才知道的手机APP 你手机上有吗
2019-07-17 18:45:01手机APP成群结队的出现,让很多手机用户在生活中得到了不少的方便,今天我就向大家分享一下几款老司机才知道手机APP。 一、天天云搜 一款便捷的资源搜索软件,视频、小说、音乐、游戏、图片等多种资源您都可以找到,... -
Android APP启动其他APP(一个APP拉起(跳转到)另一个APP)
2019-03-27 17:53:42最近在开发一个APP交互时,遇到这样的需求,1、APP拉起第三方的APP,并且传值,2第三方APP拉起我们的APP,并可以根据传递过来的值启动相对应的页面。 我们通过Intent的隐式启动来拉起。 隐式启动拉起第三方APP有三... -
Android 防止App退出 或者 启动另一个App
2018-06-22 10:42:20程序在运行过程中,可能会由于某种原因而被干掉或者自己崩溃掉,为了增加可靠性,一般的做法就是在系统启动之后,自动起一个看门狗程序,来时刻看守应用程序。 由于本人对android也不是很精通 所以想到了以下办法,... -
如何知道一个App的包名呢
2017-09-03 13:53:47如何知道一个App的包名呢?它的启动页的Activity又是什么呢? 之前博客里也忽略了这一块,这一节我就专门来介绍一下。 包名(Package name)在Android系统中是判断一个App的唯一标识,不同的App可以有... -
如何开发一个App(Android)
2015-11-28 23:25:51需要说明一点是,这里只是提供一个如何开发一个app的思路,并不会介绍很多技术上的细节,从整个大局去把握如何去构思一个app的开发,让你对独立开发一款app的时候有个理解,如果有说的不对的地方,欢迎大家拍砖留言... -
MATLAB 手把手带你制作第一个APP designer程序(电子词典)
2020-09-15 00:56:33今天要做的是一个屏幕颜色提取器,为了友好的对待没使用过MATLAB APP设计工具的人,这里做一个简化版的颜色提取器的教程,希望零基础的人能够根据教程一步一步的将功能实现! 既然是零基础。。。。我们首先就要从... -
Android TV开发总结(一)构建一个TV app前要知道的事儿
2016-10-12 07:33:05前言:近年来,智能电视的发展如火如荼,Googel 也在大力推进TV及穿带设备的发展,在互联网的风口,是猪也会飞,这句话并不是没有道理的。传统电视机厂商,基本都转型致力于智能电视的相关业务,今天的Agendda如下: ... -
Android从一个APP跳转到另一个APP的主界面或某页面,并传递数据
2017-06-19 21:45:131. Android 从一个 APP 跳转到另一个 APP 主界面 Intent intent = new Intent(Intent.ACTION_MAIN); //前提:知道要跳转应用的包名、类名 ComponentName componentName = new ComponentName("... -
5+App和uni-app在App开发上有何区别?
2020-11-12 10:32:05它的每个页面都是一个webview加载一个html页面,调用原生扩展能力时通过webview的桥通信实现。 5+App可以满足常规App的开发,并且基于html开发比较简答。但距离第一流互联网体验要求的App而言,5+App难以满足这种... -
Android Stduio实现一个天气预报APP
2021-08-10 22:24:04通过调用天气预报接口来获得天气数据,用LIstView和GridView来搭建每个界面,将查询的天气信息存储在SQLiteDatabase中。应用包括了五大界面: - 首页面:有各种组件装饰,显示天气、温度、风向及各种指数,还有... -
js判断手机是否安装了某一款app,有则打开,没有去下载
2018-11-06 12:05:00其实就是你与APP约定的一个协议URL,你的IOS同事或Android同事在写程序的时候会设置一个URL Scheme, 例如设置: URL Scheme :app 然后其他的程序就可以通过URLString = app:// 调用该应用。 还可以传参数,如:... -
常见App安全问题
2018-06-02 10:32:07常见的 App 安全问题据2015年第三季度移动安全报告显示,Android 16个行业 TOP 10 应用漏洞类别和数量中,Webview远程代码执行占到了第一位,第二位是Webview文明存储密码。这些领域涵盖大家平时工作领域,我们所... -
Jetpack新成员,App Startup一篇就懂
2020-08-25 07:00:29Android 11系统已经来了,随之而来的是,Jetpack家族也引入了许多新的成员。 其实以后Android的更新都会逐渐采用这种模式,即特定系统相关的API会越来越少,更...Android也是在用这种方式去解决长期以来的碎片化问题。 -
教你在五分钟构建一个App页面
2020-04-29 15:12:16最近参加学校比赛,由于业务需求要做一个App,当时心想我不是web开发的吗?App跟我有啥关系?而且之前也没去了解相关的东西,当时很慌啊队友还说上一次某某某三天就出了个App,我… 怀着忐忑的心情上度娘”app怎么... -
如何获取一个app内的网页地址?
2021-01-14 03:01:09最近有一个合作商,所有的操作只能用手机登录App操作,特别是打字文本编译,比电脑累太多了,为了发扬如何偷懒,决定把App内网页转到PC上,Let’s go.查了一下知乎上都没有理想的解答,我动手写一个吧,作为我的处女... -
一个新的App该如何推广
2019-06-21 13:30:45刚出来的app在网络上肯定是一篇空白,网络上还没有任何关于新的app的信息,建立一个关于App的百科,有用户搜索的话,用户可以从百科上更详细的了解你,同时,如果后期做品牌营销的话,也能为你引来更多的潜在用户。... -
app采集的10个经典方法
2021-07-21 15:14:08app采集的抓取数据、app抓包、网页爬虫、采集网站数据、app数据采集软件、python爬虫、HTM网页提取、APP数据抓包、APP数据采集、一站式网站采集技术、BI数据的数据分析、数据标注等成为大数据...大家平时登录一个网站, -
安卓开发——做一个能定时唤起其他APP的闹钟程序
2020-06-06 23:53:00要让一个app唤起另一个app,首先要做的是要知道被唤起app的包名,一般在手机的 文件管理->Android->data就能看到已安装的app的包名了。 比如这里的com.baidu.BaiduMap和com.baidu.netdisk对应的就是“百度... -
干货星球 篇十三:【强烈安利】分享10个时间管理APP,每一个都堪称精品!
2021-05-28 02:14:55干货星球 篇十三:【强烈安利】分享10个时间管理APP,每一个都堪称精品!2020-09-17 21:48:2317点赞120收藏8评论分享10个时间管理,习惯养成,番茄专注APP。1、时光序(安卓+ios)时光序是完全免费的,靠爱发电。软件... -
Android 如何检测自己的App有没有被授予需要的权限
2019-08-14 14:24:54App需要定位权限,或者读取文件权限,申请了权限,但用户拒绝了,当做对应操作的时候要检测一下有没有该权限,没有就弹出提示窗,让用户去设置 问题: 如何检测有没有对应的权限 解决方案: //使用该方法,检测是否... -
iOS之深入解析App的架构设计
2021-07-20 15:46:34App 架构是软件设计的一个分支,它关心的是如何设计一个 App 的结构。具体来说,它关注于两个方面:如何将 App 分解为不同的接口和概念层次部件,以及这些部件之间和自身的不同操作中 所使用的控制流和数据流路径。 ... -
我为女友做了一款App
2021-06-10 13:38:37光是选电影,就得花一个多小时。怎么办?我开发了自己第一款 App,已有 400 多用户。 我和女友总是找不到合适的电影看。通常,这个过程是这样的: 我:你想看什么电影? 女友:我不知道,你想看什么? 我:我们... -
简单三招,教你做个app
2021-09-18 02:24:23大家都知道开发一款APP最重要的是开发流程,那么正规的APP开发流程主要为需求阶段、开发阶段、发布阶段,如果大家还可以没有看APP开发三大流程之需求阶段流程,请先看需求阶段流程,那么今天主... -
有没有测身高的手机软件?这3款App和卷尺一样精准实用
2021-05-24 12:59:35测量个人的身高,测量墙上的图画尺寸等等,凡是都需要测量,其实每个人手机里都隐蔽着这个功能,那就是手机里的测距仪。可以解决一切测量的烦恼。非常方便快捷。操作也非常的简单。 测距仪 以苹果手机12pro为例,... -
打造一个现象级的网红APP,我们还差一些什么
2020-11-19 11:20:04这估计都是很多企业都想要看到的,看到抖音、微信、支付宝这样的超级APP,我们会不羡慕吗?答案是一定的:肯定会羡慕。 但是超级IP的APP应用诞生,不仅仅是开发运营团队牛逼,更是把握住了时机,打造出来了优质的...