一个activity显示另一个activity,Android studio将一个项目作为module导入另一个项目,字符串截取的几种基本方法

简介: 一个activity显示另一个activity,Android studio将一个项目作为module导入另一个项目,字符串截取的几种基本方法

LocalActivityManager实例化不是通过ActivityGroup



LocalActivityManager activity嵌套activity


Android给我们提供了ActivityGroup和TabActivity,当我们至需要嵌套一个Activity或者不方便继承ActivityGroupF的时候,我们可以参考ActivityGroup的实现,比较关键的是LocalActivityManager。


最外层Activity


LocalActivityManager.startActivity()需要传入里程Activity信息,就跟Activity.startActivity()打开新的Activity的Intent参数一样,不同的是LocalActivityManager.startActivity()把传入的Activity信息作为嵌套Activity打开。


外层Activity布局文件可以随意布置,但记得包涵里层Activty的布局标签,就像View是不能正常打开的里层Activity的。


外层Activity布局文件除了FrameLayout还可以使用LinearLayout作为显示里层Activity的视图。


但是里层Activity如果是ListActivity或者关于List相关属性的都不能正常显示。


通过 继承 AppCompatActivity 而不是ActivityGroup


public class CeShi  extends AppCompatActivity {
    LocalActivityManager mLocalActivityManager;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ce_shi);
        mLocalActivityManager = new LocalActivityManager((Activity) this, true);
        LinearLayout linear= (LinearLayout) findViewById(R.id.ll_view);
//        LocalActivityManager local= getLocalActivityManager();
        mLocalActivityManager.dispatchCreate(savedInstanceState);
        linear.addView((mLocalActivityManager.startActivity("OtherActivityView", new Intent(this, RegisterAndRecognizeActivity.class))).getDecorView());
    }
}


layout


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:ignore="MissingDefaultResource">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="444dp"
        android:id="@+id/ll_view"
        android:orientation="horizontal" />
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="344dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/app_name"/>
        <TextureView
            android:id="@+id/single_camera_texture_preview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
        <com.arcsoft.arcfacedemo.widget.FaceRectView
            android:id="@+id/single_camera_face_rect_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </FrameLayout>
</LinearLayout>


通过 继承 ActivityGroup


/**
 * @ProjectName: ArcfaceDemo
 * @Package: com.arcsoft.arcfacedemo.activity
 * @ClassName: CeShi
 * @Description: java类作用描述
 * @Author: liys
 * @CreateDate: 2021/6/19 8:32
 * @UpdateUser: 更新者
 * @UpdateDate: 2021/6/19 8:32
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public class CeShi  extends ActivityGroup {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ce_shi);
        LinearLayout linear= (LinearLayout) findViewById(R.id.ll_view);
        LocalActivityManager local= getLocalActivityManager();
        local.dispatchCreate(savedInstanceState);
        linear.addView((local.startActivity("OtherActivityView", new Intent(this, RegisterAndRecognizeActivity.class))).getDecorView());
    }
}


studio将一个项目作为module导入另一个项目


apply plugin: ‘com.android.application’ 为 apply plugin: ‘com.android.library’


image.png

image.png

image.png

image.png

image.png


删除子module的 application


image.png


字符串截取的几种基本方法


public static void main(String[] args) {
    String a="abcd-efg";
    String a1=a.substring(a.lastIndexOf("-")+1);
    String a2=a.substring(0,a.indexOf("-"));
    System.out.println(a1);//efg
    System.out.println(a2);//abcd
    String b="620303197010141212";
    if(b.length() == 18){
      String sex = b.substring(16, 17);
      System.out.println(sex);
      if(Integer.parseInt(sex)%2==0){
        enfore_sex.setText("女");
      }else{
        enfore_sex.setText("男");
      }
    }
    String c="陕C38205(黄)色";
    String c1=c.substring(c.lastIndexOf(")")+1);
    String c2=c.substring(0,c.indexOf("("));
    String c3=c.replace("(","");
    c3=c3.replace(")","");
    String c5=c.substring(c.indexOf("(")+1,c.indexOf(")"));
    System.out.println(c1);//色
    System.out.println(c2);//陕C38205
    System.out.println(c3);//陕C38205黄色
    System.out.println(c5);//黄
  }
复制代码
string str=“123abc456”;
int i=3;
1 取字符串的前i个字符
str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符:
str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开始取i个字符:
str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:
str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中是否有"abc" 有则去掉之
using System.Text.RegularExpressions;
string str = “123abc456”;
string a=“abc”;
Regex r = new Regex(a);
Match m = r.Match(str);
if (m.Success)
{
//绿色部分与紫色部分取一种即可。
str=str.Replace(a,“”);
Response.Write(str);
string str1,str2;
str1=str.Substring(0,m.Index);
str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
Response.Write(str1+str2);
}
6 如果字符串中有"abc"则替换成"ABC"
str=str.Replace(“abc”,“ABC”);
string str=“adcdef”; int indexStart = str.IndexOf(“d”);
int endIndex =str.IndexOf(“e”);
string toStr = str.SubString(indexStart,endIndex-indexStart);
c#截取字符串最后一个字符的问题!
str1.Substring(str1.LastIndexOf(“,”)+1)


相关文章
|
4月前
|
SQL 人工智能 Dart
Android Studio的插件生态非常丰富
Android Studio的插件生态非常丰富
231 1
|
4月前
|
Ubuntu Linux Android开发
Android Studio支持多种操作系统
Android Studio支持多种操作系统
220 1
|
1月前
|
前端开发 Java 编译器
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
82 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
|
1月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
56 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
5月前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
155 15
Android 系统缓存扫描与清理方法分析
|
4月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
107 8
|
4月前
|
数据可视化 开发工具 Android开发
Android Studio
Android Studio
303 1
|
缓存 Android开发 前端开发
Android应用开发—onSaveInstanceState方法什么时候被调用?
转载自onSaveInstanceState方法什么时候被调用?(转载/整理) 在 Activity 被销毁之前被调用来保存每个实例的状态,这样就可以保证该状态能够从 onCreate(Bundle) 或者onRestoreInstanceState(Bundle)恢复过来。
2565 0
|
1天前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
40 18
|
1月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
66 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡

热门文章

最新文章

  • 1
    Android历史版本与APK文件结构
  • 2
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 4
    【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
  • 5
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 6
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 7
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 8
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
  • 9
    Android实战经验之Kotlin中快速实现MVI架构
  • 10
    即时通讯安全篇(一):正确地理解和使用Android端加密算法