commit 03fb3c3d5c0ae11a57720734ae859c528f9cb898 Author: px2r39hn8 <13419358548@163.com> Date: Fri Jun 28 15:06:55 2024 +0800 首页、实时监控视频 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..c2bae49 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..ae388c2 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..8d66637 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..31a6708 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e8134ae --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# test1 + diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..611233b --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,47 @@ +plugins { + id("com.android.application") +} + +android { + namespace = "com.example.final_project_app" + compileSdk = 33 + + defaultConfig { + applicationId = "com.example.final_project_app" + minSdk = 24 + targetSdk = 33 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } +} + +dependencies { + + //noinspection GradleCompatible,GradleCompatible + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("com.google.android.material:material:1.8.0") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +//轮播图依赖,使用三方开源库youth5201314 + implementation("io.github.youth5201314:banner:2.2.2") +//视频播放器依赖 + implementation("com.android.support:recyclerview-v7:33.0.0") + //implementation("com.github.bumptech.glide:glide:4.8.0") + + +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/example/final_project_app/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/final_project_app/ExampleInstrumentedTest.java new file mode 100644 index 0000000..b957427 --- /dev/null +++ b/app/src/androidTest/java/com/example/final_project_app/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.final_project_app; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.example.final_project_app", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..7124209 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/final_project_app/Fragment/FirstFragment.java b/app/src/main/java/com/example/final_project_app/Fragment/FirstFragment.java new file mode 100644 index 0000000..2f94f97 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/Fragment/FirstFragment.java @@ -0,0 +1,195 @@ +package com.example.final_project_app.Fragment; + +import android.annotation.SuppressLint; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.final_project_app.R; +import com.example.final_project_app.adpter.BannerViewAdapter; +import com.example.final_project_app.db.CultrualData; +import com.example.final_project_app.db.bannerBean; +import com.youth.banner.Banner; +import com.youth.banner.indicator.CircleIndicator; + +import java.util.ArrayList; +import java.util.List; + +public class FirstFragment extends Fragment { + //菜单栏按钮 + private Button menu_bnt1,menu_btn2,menu_btn3,menu_btn4; + //定义轮播图片 + private final ArrayList banners; + + //定义文物列表 + private List CuList = new ArrayList(); + //定义布局 + private RecyclerView recyclerView; + //定义文物适配器 + CultrualAdapter adapter; + //轮播 + public FirstFragment() { + //本地图片 + banners = new ArrayList<>(); + banners.add(new bannerBean(R.drawable.banner1)); + banners.add(new bannerBean(R.drawable.banner2)); + banners.add(new bannerBean(R.drawable.banner3)); + banners.add(new bannerBean(R.drawable.banner4)); + banners.add(new bannerBean(R.drawable.banner5)); + banners.add(new bannerBean(R.drawable.banner6)); + banners.add(new bannerBean(R.drawable.banner7)); + banners.add(new bannerBean(R.drawable.banner8)); + banners.add(new bannerBean(R.drawable.banner9)); + } + // + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View inflate = inflater.inflate(R.layout.fg_first, container, false); // 通过inflater获取页面 + + initCrlists(); + //获取recyclerview水平可滑动列表 + recyclerView = inflate.findViewById(R.id.recyclerview); + adapter = new CultrualAdapter(); + recyclerView.setAdapter(adapter); + + LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()); + //设置间隔线 + DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(getContext(), DividerItemDecoration.VERTICAL); + recyclerView.addItemDecoration(dividerItemDecoration); + layoutManager.setOrientation(recyclerView.HORIZONTAL);//水平/垂直显示 + recyclerView.setLayoutManager(layoutManager); + + + //获取banner + Banner banner = inflate.findViewById(R.id.banner); + //设置banner + //添加生命周期,回调这个方法 + banner.addBannerLifecycleObserver(this) + //为banner设置适配器,并将数据传递进去 + .setAdapter(new BannerViewAdapter(banners, this)) + //添加指示器 + .setIndicator(new CircleIndicator(getContext())); + return inflate; + //返回inflate对象 + } +//菜单按钮点击事件 + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + // //菜单栏点击跳转事件 + /* menu_bnt1 = getActivity().findViewById(R.id.btn1); + menu_bnt1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(getActivity(), waitActivity.class); + startActivity(intent); + } + }); + menu_btn2= getActivity().findViewById(R.id.btn2); + menu_btn2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(getActivity(), waitActivity2.class); + startActivity(intent); + } + }); + menu_btn3=getActivity().findViewById(R.id.btn3); + menu_btn3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(getActivity(), waitActivity3.class); + startActivity(intent); + } + }); + menu_btn4 = getActivity().findViewById(R.id.btn4); + menu_btn4.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(getActivity(), waitActivity5.class); + startActivity(intent); + } + });*/ + } +//文物列表通过add将数据加入列表中 + private void initCrlists() { + CultrualData list1 = new CultrualData("物联网(IoT)技术:物联网技术在智能仓库管理系统中扮演着重要的角色," + + "可以实现对仓库设备、货物、运输工具等的实时监控和数据采集,提高仓库运作的效率和透明度。", R.drawable.wulianwang); + CuList.add(list1); + CultrualData list2 = new CultrualData("无人机和无人车:无人机和无人车可以用于仓库内的库存管理和货物分拣," + + "实现自动化的仓库操作和物流管理,有效提高作业效率。", R.drawable.wurenji); + CuList.add(list2); + CultrualData list3 = new CultrualData("人工智能(AI)和机器学习:通过人工智能和机器学习技术,智能仓库管" + + "理系统可以对仓库数据进行智能分析和预测,优化仓储布局、库存管理和订单处理等流程,提高仓库运营效率。", R.drawable.jiqiren); + CuList.add(list3); + CultrualData list4 = new CultrualData("大数据分析:利用大数据分析技术对仓库数据进行深入的挖掘和分析,可以" + + "帮助仓库管理系统更好地了解仓库运作情况,发现潜在问题并提出优化建议。", R.drawable.dashuju); + CuList.add(list4); + CultrualData list5 = new CultrualData("无人机自动化技术:是一种重要的创新,它极大地提高了仓库作业的效率、" + + "降低了成本,并实现了仓库的智能化管理。", R.drawable.zidonghua); + CuList.add(list5); + CultrualData list6 = new CultrualData("虚拟现实(VR)和增强现实(AR)技术:通过虚拟现实和增强现实技术,可" + + "以帮助仓库管理人员更直观地了解仓库内部情况,进行培训和模拟操作,提高管理人员和操作人员的工作效率。", R.drawable.xunivr); + CuList.add(list6); + } + + class CultrualAdapter extends RecyclerView.Adapter { + @NonNull + @Override + public MyViewHoder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = View.inflate(getContext(), R.layout.cltrua_list, null); + MyViewHoder myViewHoder = new MyViewHoder(view); + // 将View对象传入ViewHolder构造函数创建ViewHolder对象并返回 + return myViewHoder; + } + + // onBindViewHolder方法,用于绑定数据到ViewHolder对象 + // 参数holder表示要绑定的ViewHolder对象,position表示当前项的位置 + @Override + public void onBindViewHolder(@NonNull MyViewHoder holder, @SuppressLint("RecyclerView") int position) { + // 从数据列表中获取当前位置的数据 + CultrualData Cul = CuList.get(position); + //第二步 + // 将数据设置到ViewHolder对象的textView中 + // holder.textView.setText(fruit.getName());//fruit.getImageId() + holder.imageview.setBackgroundResource(Cul.getImageId()); + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Toast.makeText(getContext(), + ""+CuList.get(position), + Toast.LENGTH_LONG).show(); + } + }); + + } + + @Override + public int getItemCount() { + return CuList.size(); + } + } + class MyViewHoder extends RecyclerView.ViewHolder { + TextView textView; + ImageView imageview; + public MyViewHoder(@NonNull View itemView) { + super(itemView); + textView = itemView.findViewById(R.id.fruit_name); + imageview = itemView.findViewById(R.id.fruit_image); + } + } + } + + diff --git a/app/src/main/java/com/example/final_project_app/Fragment/TwoFragment.java b/app/src/main/java/com/example/final_project_app/Fragment/TwoFragment.java new file mode 100644 index 0000000..2bc2b46 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/Fragment/TwoFragment.java @@ -0,0 +1,51 @@ +package com.example.final_project_app.Fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.StaggeredGridLayoutManager; + +import com.example.final_project_app.R; +import com.example.final_project_app.adpter.MovieAdapter; +import com.example.final_project_app.db.Movie; + +import java.util.ArrayList; +import java.util.List; + +public class TwoFragment extends FirstFragment{ + RecyclerView recyclerView; + List movieList; + MovieAdapter movieAdapter; + private static final String TAG="MovieActivity"; + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fg_two,container,false); + return view; + } + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + recyclerView = getActivity().findViewById(R.id.fg_tworecyclerview); + initData(); + } + private void initData() { + //建立动态数组存放数据 + movieList = new ArrayList<>(); + /* //获取本工程中的视频*/ + Movie one=new Movie("货物1","android.resource://"+getActivity().getPackageName()+"/"+R.raw.hw1); + movieList.add(one); + Movie two=new Movie("货物2","android.resource://"+ getActivity().getPackageName()+"/"+R.raw.hw2); + movieList.add(two); + //将视频显示在控件上 + movieAdapter = new MovieAdapter(movieList); + StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL); + recyclerView.setLayoutManager(layoutManager); + recyclerView.setAdapter(movieAdapter); + } +} diff --git a/app/src/main/java/com/example/final_project_app/MainActivity.java b/app/src/main/java/com/example/final_project_app/MainActivity.java new file mode 100644 index 0000000..c8c5033 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/MainActivity.java @@ -0,0 +1,95 @@ +package com.example.final_project_app; + +import android.annotation.SuppressLint; +import android.os.Bundle; +import android.view.View; +import android.widget.FrameLayout; +import android.widget.TextView; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; +import androidx.viewpager.widget.ViewPager; + +import com.example.final_project_app.Fragment.FirstFragment; +import com.example.final_project_app.Fragment.TwoFragment; + +public class MainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener{ + + private FrameLayout fg_main; + private FragmentManager fm; + private ViewPager vp; + public static final int PAGE_ONE = 0; + public static final int PAGE_TWO = 1; + public static final int PAGE_THREE = 2; + public static final int PAGE_FOUR = 3; + public static final int PAGE_Five = 4; +// private MyFragmentPaperAdapter mPaperAdapter; + private TextView tv1; + private TextView tv2; + + + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + fg_main = (FrameLayout) findViewById(R.id.fg_main); + vp = (ViewPager) findViewById(R.id.vp); + tv1 = (TextView) findViewById(R.id.tv_one); + tv2 = (TextView) findViewById(R.id.tv_two); +// mPaperAdapter = new MyFragmentPaperAdapter(getSupportFragmentManager()); +// vp.setAdapter(mPaperAdapter); + vp.setCurrentItem(0); + vp.addOnPageChangeListener((ViewPager.OnPageChangeListener) this); + + } +//MYClick点击事件 + public void MyClick(View view){ + FragmentManager fm = getSupportFragmentManager(); + FragmentTransaction ft = fm.beginTransaction(); + + //创建页面类对象 + FirstFragment page1 = new FirstFragment(); + TwoFragment page2 = new TwoFragment(); + //点击页面替换 + if (view.getId()== R.id.tv_one){ + // ft.replace(R.id.fg_main,page1); + vp.setCurrentItem(PAGE_ONE); + + }else if (view.getId()==R.id.tv_two){ + //ft.replace(R.id.fg_main,page2); + vp.setCurrentItem(PAGE_TWO); + } + ft.commit(); + } + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + + + } +//滑动切换判断事件 + @Override + public void onPageScrollStateChanged(int state) { + + if (state==2){ + switch (vp.getCurrentItem()){ + case PAGE_ONE: + tv1.setSelected(true); + //tv1.setBackgroundColor(R.color.black); + break; + + case PAGE_TWO: + tv2.setSelected(true); + break; + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/final_project_app/PlayActivity.java b/app/src/main/java/com/example/final_project_app/PlayActivity.java new file mode 100644 index 0000000..8ee395a --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/PlayActivity.java @@ -0,0 +1,50 @@ +package com.example.final_project_app; + +import static com.example.final_project_app.db.PermissionUtiils.verifyStoragePermissions; + +import android.os.Bundle; +import android.widget.MediaController; +import android.widget.TextView; +import android.widget.VideoView; + +import androidx.appcompat.app.AppCompatActivity; + +public class PlayActivity extends AppCompatActivity { + private TextView tvvedioname; + private VideoView videoView; + //媒体控制器 + private MediaController mediaController; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_play); + + tvvedioname= findViewById(R.id.tvmovename); + videoView=findViewById(R.id.vvmovie); + mediaController=new MediaController(this); + initData(); + verifyStoragePermissions(this); + + } + + private void initData() { + //获取从列表传过来的视频名称和地址 + String videoname=getIntent().getStringExtra("my"); + String videouri=getIntent().getStringExtra("movieurl"); + //String videourl= Environment.getExternalStorageDirectory().getAbsolutePath()+"/jay.mp4"; + //Log.i("PlayActivity","videourl="+videourl); + //将视频名称显示在文本框中,将视频地址关联到播放器中 + tvvedioname.setText(videoname); + videoView.setVideoPath(videouri); + //videoView.setVideoPath(videourl); + //将视频播放器和媒体控制柄关联起来 + videoView.setMediaController(mediaController); + //媒体控制柄和视频播放器关联起来 + mediaController.setMediaPlayer(videoView); + //启动视频播放器播放视频 + videoView.start(); + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/final_project_app/StartActivity.java b/app/src/main/java/com/example/final_project_app/StartActivity.java new file mode 100644 index 0000000..f1c1311 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/StartActivity.java @@ -0,0 +1,38 @@ +package com.example.final_project_app; + +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; + +import androidx.appcompat.app.AppCompatActivity; + +public class StartActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_start); + //初始化 + initView(); + } + + private void initView() { + //使用sharedpreferences存储 + SharedPreferences sp=getSharedPreferences("name",MODE_PRIVATE); + boolean is=sp.getBoolean("ok",true); + //判断是否为第一次打开软件 + if (is){ + SharedPreferences.Editor editor=sp.edit(); + editor.putBoolean("ok",false); + editor.apply(); + //跳转到引导页 +// startActivity(new Intent(StartActivity.this,IntroducttoryActivity.class)); + finish(); + }else { + //直接进入首页 + startActivity(new Intent(StartActivity.this,MainActivity.class)); + finish(); + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/final_project_app/adpter/BannerViewAdapter.java b/app/src/main/java/com/example/final_project_app/adpter/BannerViewAdapter.java new file mode 100644 index 0000000..842f708 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/adpter/BannerViewAdapter.java @@ -0,0 +1,48 @@ +package com.example.final_project_app.adpter; + +import android.view.ViewGroup; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.final_project_app.db.bannerBean; +import com.youth.banner.adapter.BannerAdapter; + +import java.util.List; + +public class BannerViewAdapter extends BannerAdapter{ + private Fragment fragment; + + public BannerViewAdapter(List datas,Fragment fragment) { + super(datas); + this.fragment = fragment; + } + + @Override + public BannerViewAdapter.BannerViewHodler onCreateHolder(ViewGroup parent, int viewType) { + ImageView imageView = new ImageView(parent.getContext()); + imageView.setLayoutParams(new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + )); + //setScaleType对图片进行大小处理 CENTER_CROP对原图居中显示后进行等比放缩处理,使最小边等于ImageView的相应边 + imageView.setScaleType(ImageView.ScaleType.CENTER); + return new BannerViewHodler(imageView); + } + //绑定图片资源文件 + @Override + public void onBindView(BannerViewAdapter.BannerViewHodler holder, bannerBean data, int position, int size) { + holder.imageView.setImageResource(data.picture); + } + //ViewHolder主要用于容纳view视图 + public class BannerViewHodler extends RecyclerView.ViewHolder { + ImageView imageView; + + public BannerViewHodler(@NonNull ImageView itemView) { + super(itemView); + this.imageView = itemView; + } + } +} diff --git a/app/src/main/java/com/example/final_project_app/adpter/IntroductoryAdapter.java b/app/src/main/java/com/example/final_project_app/adpter/IntroductoryAdapter.java new file mode 100644 index 0000000..12da5f7 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/adpter/IntroductoryAdapter.java @@ -0,0 +1,40 @@ +package com.example.final_project_app.adpter; + +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.viewpager.widget.PagerAdapter; + +import java.util.List; + +public class IntroductoryAdapter extends PagerAdapter { + //声明 + private List list; + + public IntroductoryAdapter(List list) { + this.list = list; + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { + return view==object; + } + @NonNull + @Override + public Object instantiateItem(@NonNull ViewGroup container, int position) { + View view=list.get(position); + container.addView(view); + return view; + } + + @Override + public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { + container.removeView(list.get(position)); + } +} diff --git a/app/src/main/java/com/example/final_project_app/adpter/MovieAdapter.java b/app/src/main/java/com/example/final_project_app/adpter/MovieAdapter.java new file mode 100644 index 0000000..15bc8ac --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/adpter/MovieAdapter.java @@ -0,0 +1,69 @@ +package com.example.final_project_app.adpter; + +import android.content.Intent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.final_project_app.PlayActivity; +import com.example.final_project_app.R; +import com.example.final_project_app.db.Movie; + +import java.util.List; + + +public class MovieAdapter extends RecyclerView.Adapter { + List mymovieList; + public class ViewHolder extends RecyclerView.ViewHolder { + View movieview; + TextView moviename; + + public ViewHolder(@NonNull View view) { + super(view); + moviename = itemView.findViewById(R.id.moviename); + movieview = view; + } + } + //利用适配器的构造函数传入要展示的数据 + public MovieAdapter(List mymovieList){ + this.mymovieList=mymovieList; + } + //创建实例,把每一行的布局加载进来,创建一个ViewHolder实例,将布局传入到构造函数中,最后将实例返回 + public MovieAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){ + View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.movie_item,parent,false); + final ViewHolder holder=new ViewHolder(view); + //单击任意视频跳转到播放界面 + holder.movieview.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + //获取位置 + int position=holder.getAdapterPosition(); + Movie movie=mymovieList.get(position); + //获取movie中的名字 + String mymoviename=movie.getMoviename(); + //获取视频播放地址 + String mymovievideo=movie.getMovieuri(); + + //获取播放视频的位置后跳转到播放页 + Intent intent=new Intent(view.getContext(),PlayActivity.class); + //然后根据位置传递信息 + intent.putExtra("my",mymoviename); + intent.putExtra("movieurl",mymovievideo); + view.getContext().startActivity(intent); + } + }); + return holder; + } + //对recyclerview中子项目进行赋值,通过位置得到当前的实例,然后电影名和视频显示在控件上 + public void onBindViewHolder(@NonNull MovieAdapter.ViewHolder holder,int position){ + Movie movie=mymovieList.get(position); + holder.moviename.setText(movie.getMoviename()); + } + public int getItemCount(){ + return mymovieList.size(); + } +} diff --git a/app/src/main/java/com/example/final_project_app/db/CultrualData.java b/app/src/main/java/com/example/final_project_app/db/CultrualData.java new file mode 100644 index 0000000..ac31b57 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/db/CultrualData.java @@ -0,0 +1,30 @@ +package com.example.final_project_app.db; + +public class CultrualData { + private String name; + private int image; + public CultrualData() { + + } + public CultrualData(String name, int imageId) { + this.name = name; + this.image = imageId; + } + + @Override + public String toString() { + return "简介:" + name ; + } + + public String getName() { + return name; + } + + public int getImageId() { + return image; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/app/src/main/java/com/example/final_project_app/db/Movie.java b/app/src/main/java/com/example/final_project_app/db/Movie.java new file mode 100644 index 0000000..d860931 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/db/Movie.java @@ -0,0 +1,16 @@ +package com.example.final_project_app.db; + +public class Movie { + private String moviename; + private String movieuri; + public Movie(String moviename,String movieuri){ + this.moviename=moviename; + this.movieuri=movieuri; + } + public String getMoviename(){ + return moviename; + } + public String getMovieuri(){ + return movieuri; + } +} diff --git a/app/src/main/java/com/example/final_project_app/db/PermissionUtiils.java b/app/src/main/java/com/example/final_project_app/db/PermissionUtiils.java new file mode 100644 index 0000000..ea6a7ec --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/db/PermissionUtiils.java @@ -0,0 +1,27 @@ +package com.example.final_project_app.db; + +import android.Manifest; +import android.app.Activity; +import android.content.pm.PackageManager; + +import androidx.core.app.ActivityCompat; + +public class PermissionUtiils { +//请求权限类 + // Storage Permissions + private static final int REQUEST_EXTERNAL_STORAGE = 1; + private static String[] PERMISSIONS_STORAGE = { + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE}; + public static void verifyStoragePermissions(Activity activity) { + // Check if we have write permission + int permission = ActivityCompat.checkSelfPermission(activity, + Manifest.permission.WRITE_EXTERNAL_STORAGE); + + if (permission != PackageManager.PERMISSION_GRANTED) { + // We don't have permission so prompt the user + ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, + REQUEST_EXTERNAL_STORAGE); + } + } +} diff --git a/app/src/main/java/com/example/final_project_app/db/RegistMysql.java b/app/src/main/java/com/example/final_project_app/db/RegistMysql.java new file mode 100644 index 0000000..cb6dc0d --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/db/RegistMysql.java @@ -0,0 +1,27 @@ +package com.example.final_project_app.db; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; + +import androidx.annotation.Nullable; +//先键db类RegistMysql继承SQLiteOpenHelper(这里面写数据库语句:创建表logins) +public class RegistMysql extends SQLiteOpenHelper { + public RegistMysql(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) { + super(context, name, factory, version); + } + + @Override + public void onCreate(SQLiteDatabase sqLiteDatabase) { + //创建一个logins表,id字段自增并且为主键,usename字段、密码字段 + String sql = "create table logins(id integer primary key autoincrement,usname text,uspwd text)"; + //操作SQLite数据库的类 + sqLiteDatabase.execSQL(sql); //执行execSQL方法,执行上面这个sql语句 + } + @Override + public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { + + } + + +} diff --git a/app/src/main/java/com/example/final_project_app/db/bannerBean.java b/app/src/main/java/com/example/final_project_app/db/bannerBean.java new file mode 100644 index 0000000..0083fc0 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/db/bannerBean.java @@ -0,0 +1,17 @@ +package com.example.final_project_app.db; + +public class bannerBean { + public int picture; + + public bannerBean(int picture) { + this.picture = picture; + } + + public int getPicture() { + return picture; + } + + public void setPicture(int picture) { + this.picture = picture; + } +} diff --git a/app/src/main/java/com/example/final_project_app/ui/waitActivity.java b/app/src/main/java/com/example/final_project_app/ui/waitActivity.java new file mode 100644 index 0000000..63e5e2f --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/ui/waitActivity.java @@ -0,0 +1,16 @@ +package com.example.final_project_app.ui; + +import android.os.Bundle; + +import androidx.appcompat.app.AppCompatActivity; + +import com.example.final_project_app.R; + +public class waitActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_wait); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/final_project_app/ui/waitActivity2.java b/app/src/main/java/com/example/final_project_app/ui/waitActivity2.java new file mode 100644 index 0000000..c646f22 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/ui/waitActivity2.java @@ -0,0 +1,16 @@ +package com.example.final_project_app.ui; + +import android.os.Bundle; + +import androidx.appcompat.app.AppCompatActivity; + +import com.example.final_project_app.R; + +public class waitActivity2 extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_wait2); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/final_project_app/ui/waitActivity3.java b/app/src/main/java/com/example/final_project_app/ui/waitActivity3.java new file mode 100644 index 0000000..44a37df --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/ui/waitActivity3.java @@ -0,0 +1,16 @@ +package com.example.final_project_app.ui; + +import android.os.Bundle; + +import androidx.appcompat.app.AppCompatActivity; + +import com.example.final_project_app.R; + +public class waitActivity3 extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_wait3); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/final_project_app/ui/waitActivity5.java b/app/src/main/java/com/example/final_project_app/ui/waitActivity5.java new file mode 100644 index 0000000..836eac7 --- /dev/null +++ b/app/src/main/java/com/example/final_project_app/ui/waitActivity5.java @@ -0,0 +1,16 @@ +package com.example.final_project_app.ui; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +import com.example.final_project_app.R; + +public class waitActivity5 extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_wait5); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/a4.png b/app/src/main/res/drawable/a4.png new file mode 100644 index 0000000..0d9d2f2 Binary files /dev/null and b/app/src/main/res/drawable/a4.png differ diff --git a/app/src/main/res/drawable/ab.png b/app/src/main/res/drawable/ab.png new file mode 100644 index 0000000..16d0f25 Binary files /dev/null and b/app/src/main/res/drawable/ab.png differ diff --git a/app/src/main/res/drawable/back_home.jpg b/app/src/main/res/drawable/back_home.jpg new file mode 100644 index 0000000..f9a00e7 Binary files /dev/null and b/app/src/main/res/drawable/back_home.jpg differ diff --git a/app/src/main/res/drawable/back_home0.png b/app/src/main/res/drawable/back_home0.png new file mode 100644 index 0000000..fbbb334 Binary files /dev/null and b/app/src/main/res/drawable/back_home0.png differ diff --git a/app/src/main/res/drawable/back_home01.png b/app/src/main/res/drawable/back_home01.png new file mode 100644 index 0000000..0ef692a Binary files /dev/null and b/app/src/main/res/drawable/back_home01.png differ diff --git a/app/src/main/res/drawable/back_home2.jpg b/app/src/main/res/drawable/back_home2.jpg new file mode 100644 index 0000000..5a7d890 Binary files /dev/null and b/app/src/main/res/drawable/back_home2.jpg differ diff --git a/app/src/main/res/drawable/back_home5.png b/app/src/main/res/drawable/back_home5.png new file mode 100644 index 0000000..cd1cba3 Binary files /dev/null and b/app/src/main/res/drawable/back_home5.png differ diff --git a/app/src/main/res/drawable/back_home_bottom1.png b/app/src/main/res/drawable/back_home_bottom1.png new file mode 100644 index 0000000..d268cbc Binary files /dev/null and b/app/src/main/res/drawable/back_home_bottom1.png differ diff --git a/app/src/main/res/drawable/back_home_bottom2.png b/app/src/main/res/drawable/back_home_bottom2.png new file mode 100644 index 0000000..2e4976e Binary files /dev/null and b/app/src/main/res/drawable/back_home_bottom2.png differ diff --git a/app/src/main/res/drawable/back_login.png b/app/src/main/res/drawable/back_login.png new file mode 100644 index 0000000..b67560e Binary files /dev/null and b/app/src/main/res/drawable/back_login.png differ diff --git a/app/src/main/res/drawable/back_regist.png b/app/src/main/res/drawable/back_regist.png new file mode 100644 index 0000000..84b34f6 Binary files /dev/null and b/app/src/main/res/drawable/back_regist.png differ diff --git a/app/src/main/res/drawable/banner1.jpg b/app/src/main/res/drawable/banner1.jpg new file mode 100644 index 0000000..037aeb7 Binary files /dev/null and b/app/src/main/res/drawable/banner1.jpg differ diff --git a/app/src/main/res/drawable/banner2.jpg b/app/src/main/res/drawable/banner2.jpg new file mode 100644 index 0000000..c788e80 Binary files /dev/null and b/app/src/main/res/drawable/banner2.jpg differ diff --git a/app/src/main/res/drawable/banner3.jpg b/app/src/main/res/drawable/banner3.jpg new file mode 100644 index 0000000..647a44d Binary files /dev/null and b/app/src/main/res/drawable/banner3.jpg differ diff --git a/app/src/main/res/drawable/banner4.jpg b/app/src/main/res/drawable/banner4.jpg new file mode 100644 index 0000000..e152f58 Binary files /dev/null and b/app/src/main/res/drawable/banner4.jpg differ diff --git a/app/src/main/res/drawable/banner5.jpg b/app/src/main/res/drawable/banner5.jpg new file mode 100644 index 0000000..3d59a8a Binary files /dev/null and b/app/src/main/res/drawable/banner5.jpg differ diff --git a/app/src/main/res/drawable/banner6.jpg b/app/src/main/res/drawable/banner6.jpg new file mode 100644 index 0000000..838254a Binary files /dev/null and b/app/src/main/res/drawable/banner6.jpg differ diff --git a/app/src/main/res/drawable/banner7.jpg b/app/src/main/res/drawable/banner7.jpg new file mode 100644 index 0000000..815bb50 Binary files /dev/null and b/app/src/main/res/drawable/banner7.jpg differ diff --git a/app/src/main/res/drawable/banner8.jpg b/app/src/main/res/drawable/banner8.jpg new file mode 100644 index 0000000..3444d2c Binary files /dev/null and b/app/src/main/res/drawable/banner8.jpg differ diff --git a/app/src/main/res/drawable/banner9.jpg b/app/src/main/res/drawable/banner9.jpg new file mode 100644 index 0000000..875fb4c Binary files /dev/null and b/app/src/main/res/drawable/banner9.jpg differ diff --git a/app/src/main/res/drawable/bjtp.jpg b/app/src/main/res/drawable/bjtp.jpg new file mode 100644 index 0000000..2db18bc Binary files /dev/null and b/app/src/main/res/drawable/bjtp.jpg differ diff --git a/app/src/main/res/drawable/dashuju.jpg b/app/src/main/res/drawable/dashuju.jpg new file mode 100644 index 0000000..98a5137 Binary files /dev/null and b/app/src/main/res/drawable/dashuju.jpg differ diff --git a/app/src/main/res/drawable/dot_dark.png b/app/src/main/res/drawable/dot_dark.png new file mode 100644 index 0000000..2b55a03 Binary files /dev/null and b/app/src/main/res/drawable/dot_dark.png differ diff --git a/app/src/main/res/drawable/dot_green.png b/app/src/main/res/drawable/dot_green.png new file mode 100644 index 0000000..7036420 Binary files /dev/null and b/app/src/main/res/drawable/dot_green.png differ diff --git a/app/src/main/res/drawable/dot_white.png b/app/src/main/res/drawable/dot_white.png new file mode 100644 index 0000000..a7ead6a Binary files /dev/null and b/app/src/main/res/drawable/dot_white.png differ diff --git a/app/src/main/res/drawable/home_wait.png b/app/src/main/res/drawable/home_wait.png new file mode 100644 index 0000000..f44f1f4 Binary files /dev/null and b/app/src/main/res/drawable/home_wait.png differ diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_movebofang.png b/app/src/main/res/drawable/icon_movebofang.png new file mode 100644 index 0000000..eaedadc Binary files /dev/null and b/app/src/main/res/drawable/icon_movebofang.png differ diff --git a/app/src/main/res/drawable/icon_quit.png b/app/src/main/res/drawable/icon_quit.png new file mode 100644 index 0000000..7a367eb Binary files /dev/null and b/app/src/main/res/drawable/icon_quit.png differ diff --git a/app/src/main/res/drawable/icon_write.png b/app/src/main/res/drawable/icon_write.png new file mode 100644 index 0000000..5b009d7 Binary files /dev/null and b/app/src/main/res/drawable/icon_write.png differ diff --git a/app/src/main/res/drawable/img.png b/app/src/main/res/drawable/img.png new file mode 100644 index 0000000..e8d6961 Binary files /dev/null and b/app/src/main/res/drawable/img.png differ diff --git a/app/src/main/res/drawable/intro_four.jpg b/app/src/main/res/drawable/intro_four.jpg new file mode 100644 index 0000000..fc0a0e6 Binary files /dev/null and b/app/src/main/res/drawable/intro_four.jpg differ diff --git a/app/src/main/res/drawable/intro_one.jpg b/app/src/main/res/drawable/intro_one.jpg new file mode 100644 index 0000000..0e480c8 Binary files /dev/null and b/app/src/main/res/drawable/intro_one.jpg differ diff --git a/app/src/main/res/drawable/intro_test.jpg b/app/src/main/res/drawable/intro_test.jpg new file mode 100644 index 0000000..f634d53 Binary files /dev/null and b/app/src/main/res/drawable/intro_test.jpg differ diff --git a/app/src/main/res/drawable/intro_three.jpg b/app/src/main/res/drawable/intro_three.jpg new file mode 100644 index 0000000..5a1020c Binary files /dev/null and b/app/src/main/res/drawable/intro_three.jpg differ diff --git a/app/src/main/res/drawable/jiqiren.jpg b/app/src/main/res/drawable/jiqiren.jpg new file mode 100644 index 0000000..ff387b3 Binary files /dev/null and b/app/src/main/res/drawable/jiqiren.jpg differ diff --git a/app/src/main/res/drawable/logo.jpg b/app/src/main/res/drawable/logo.jpg new file mode 100644 index 0000000..6404663 Binary files /dev/null and b/app/src/main/res/drawable/logo.jpg differ diff --git a/app/src/main/res/drawable/minbj.jpg b/app/src/main/res/drawable/minbj.jpg new file mode 100644 index 0000000..83852f4 Binary files /dev/null and b/app/src/main/res/drawable/minbj.jpg differ diff --git a/app/src/main/res/drawable/newbj.jpg b/app/src/main/res/drawable/newbj.jpg new file mode 100644 index 0000000..23775a5 Binary files /dev/null and b/app/src/main/res/drawable/newbj.jpg differ diff --git a/app/src/main/res/drawable/page_back1.png b/app/src/main/res/drawable/page_back1.png new file mode 100644 index 0000000..f21c33d Binary files /dev/null and b/app/src/main/res/drawable/page_back1.png differ diff --git a/app/src/main/res/drawable/page_back2.png b/app/src/main/res/drawable/page_back2.png new file mode 100644 index 0000000..3bd04e0 Binary files /dev/null and b/app/src/main/res/drawable/page_back2.png differ diff --git a/app/src/main/res/drawable/page_back3.png b/app/src/main/res/drawable/page_back3.png new file mode 100644 index 0000000..1f847f2 Binary files /dev/null and b/app/src/main/res/drawable/page_back3.png differ diff --git a/app/src/main/res/drawable/page_back4.png b/app/src/main/res/drawable/page_back4.png new file mode 100644 index 0000000..09da6cb Binary files /dev/null and b/app/src/main/res/drawable/page_back4.png differ diff --git a/app/src/main/res/drawable/person_aboutus.png b/app/src/main/res/drawable/person_aboutus.png new file mode 100644 index 0000000..43d95b7 Binary files /dev/null and b/app/src/main/res/drawable/person_aboutus.png differ diff --git a/app/src/main/res/drawable/person_head.png b/app/src/main/res/drawable/person_head.png new file mode 100644 index 0000000..d723432 Binary files /dev/null and b/app/src/main/res/drawable/person_head.png differ diff --git a/app/src/main/res/drawable/person_help.png b/app/src/main/res/drawable/person_help.png new file mode 100644 index 0000000..58fd71c Binary files /dev/null and b/app/src/main/res/drawable/person_help.png differ diff --git a/app/src/main/res/drawable/person_quite.png b/app/src/main/res/drawable/person_quite.png new file mode 100644 index 0000000..02e156b Binary files /dev/null and b/app/src/main/res/drawable/person_quite.png differ diff --git a/app/src/main/res/drawable/person_upimg.png b/app/src/main/res/drawable/person_upimg.png new file mode 100644 index 0000000..1fc4334 Binary files /dev/null and b/app/src/main/res/drawable/person_upimg.png differ diff --git a/app/src/main/res/drawable/qianyan.jpg b/app/src/main/res/drawable/qianyan.jpg new file mode 100644 index 0000000..85b3e62 Binary files /dev/null and b/app/src/main/res/drawable/qianyan.jpg differ diff --git a/app/src/main/res/drawable/qianyan1.jpg b/app/src/main/res/drawable/qianyan1.jpg new file mode 100644 index 0000000..ce42d11 Binary files /dev/null and b/app/src/main/res/drawable/qianyan1.jpg differ diff --git a/app/src/main/res/drawable/qianyan2.jpg b/app/src/main/res/drawable/qianyan2.jpg new file mode 100644 index 0000000..61ed97a Binary files /dev/null and b/app/src/main/res/drawable/qianyan2.jpg differ diff --git a/app/src/main/res/drawable/qianyan3.jpg b/app/src/main/res/drawable/qianyan3.jpg new file mode 100644 index 0000000..b245598 Binary files /dev/null and b/app/src/main/res/drawable/qianyan3.jpg differ diff --git a/app/src/main/res/drawable/wulianwang.jpg b/app/src/main/res/drawable/wulianwang.jpg new file mode 100644 index 0000000..72ca22e Binary files /dev/null and b/app/src/main/res/drawable/wulianwang.jpg differ diff --git a/app/src/main/res/drawable/wurenji.jpg b/app/src/main/res/drawable/wurenji.jpg new file mode 100644 index 0000000..42538ca Binary files /dev/null and b/app/src/main/res/drawable/wurenji.jpg differ diff --git a/app/src/main/res/drawable/xunivr.jpg b/app/src/main/res/drawable/xunivr.jpg new file mode 100644 index 0000000..3ac4f4d Binary files /dev/null and b/app/src/main/res/drawable/xunivr.jpg differ diff --git a/app/src/main/res/drawable/zhinengwulian.jpg b/app/src/main/res/drawable/zhinengwulian.jpg new file mode 100644 index 0000000..f4fd1c3 Binary files /dev/null and b/app/src/main/res/drawable/zhinengwulian.jpg differ diff --git a/app/src/main/res/drawable/zidonghua.jpg b/app/src/main/res/drawable/zidonghua.jpg new file mode 100644 index 0000000..ab3b850 Binary files /dev/null and b/app/src/main/res/drawable/zidonghua.jpg differ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..a64b131 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_play.xml b/app/src/main/res/layout/activity_play.xml new file mode 100644 index 0000000..af2d907 --- /dev/null +++ b/app/src/main/res/layout/activity_play.xml @@ -0,0 +1,34 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_start.xml b/app/src/main/res/layout/activity_start.xml new file mode 100644 index 0000000..023b883 --- /dev/null +++ b/app/src/main/res/layout/activity_start.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_wait.xml b/app/src/main/res/layout/activity_wait.xml new file mode 100644 index 0000000..2c847b6 --- /dev/null +++ b/app/src/main/res/layout/activity_wait.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_wait2.xml b/app/src/main/res/layout/activity_wait2.xml new file mode 100644 index 0000000..4cb6d38 --- /dev/null +++ b/app/src/main/res/layout/activity_wait2.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_wait3.xml b/app/src/main/res/layout/activity_wait3.xml new file mode 100644 index 0000000..8425c05 --- /dev/null +++ b/app/src/main/res/layout/activity_wait3.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_wait5.xml b/app/src/main/res/layout/activity_wait5.xml new file mode 100644 index 0000000..a499766 --- /dev/null +++ b/app/src/main/res/layout/activity_wait5.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/cltrua_list.xml b/app/src/main/res/layout/cltrua_list.xml new file mode 100644 index 0000000..42906ca --- /dev/null +++ b/app/src/main/res/layout/cltrua_list.xml @@ -0,0 +1,22 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fg_first.xml b/app/src/main/res/layout/fg_first.xml new file mode 100644 index 0000000..d8d7394 --- /dev/null +++ b/app/src/main/res/layout/fg_first.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fg_two.xml b/app/src/main/res/layout/fg_two.xml new file mode 100644 index 0000000..a5a83cd --- /dev/null +++ b/app/src/main/res/layout/fg_two.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/movie_item.xml b/app/src/main/res/layout/movie_item.xml new file mode 100644 index 0000000..132b209 --- /dev/null +++ b/app/src/main/res/layout/movie_item.xml @@ -0,0 +1,24 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..c209e78 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..b2dfe3d Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000..4f0f1d6 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..62b611d Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000..948a307 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..1b9a695 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000..28d4b77 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9287f50 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000..aa7d642 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9126ae3 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/raw/feiyi2.mp4 b/app/src/main/res/raw/feiyi2.mp4 new file mode 100644 index 0000000..f6c7e87 Binary files /dev/null and b/app/src/main/res/raw/feiyi2.mp4 differ diff --git a/app/src/main/res/raw/feiyi4.mp4 b/app/src/main/res/raw/feiyi4.mp4 new file mode 100644 index 0000000..dfa6c1c Binary files /dev/null and b/app/src/main/res/raw/feiyi4.mp4 differ diff --git a/app/src/main/res/raw/feiyi5.mp4 b/app/src/main/res/raw/feiyi5.mp4 new file mode 100644 index 0000000..cf2c00a Binary files /dev/null and b/app/src/main/res/raw/feiyi5.mp4 differ diff --git a/app/src/main/res/raw/feiyi6.mp4 b/app/src/main/res/raw/feiyi6.mp4 new file mode 100644 index 0000000..3e1c830 Binary files /dev/null and b/app/src/main/res/raw/feiyi6.mp4 differ diff --git a/app/src/main/res/raw/fenyiwenhua1.mp4 b/app/src/main/res/raw/fenyiwenhua1.mp4 new file mode 100644 index 0000000..e46e5e7 Binary files /dev/null and b/app/src/main/res/raw/fenyiwenhua1.mp4 differ diff --git a/app/src/main/res/raw/hw1.mp4 b/app/src/main/res/raw/hw1.mp4 new file mode 100644 index 0000000..8129c3b Binary files /dev/null and b/app/src/main/res/raw/hw1.mp4 differ diff --git a/app/src/main/res/raw/hw2.mp4 b/app/src/main/res/raw/hw2.mp4 new file mode 100644 index 0000000..616f5ac Binary files /dev/null and b/app/src/main/res/raw/hw2.mp4 differ diff --git a/app/src/main/res/raw/wenyi3.mp4 b/app/src/main/res/raw/wenyi3.mp4 new file mode 100644 index 0000000..c1381ab Binary files /dev/null and b/app/src/main/res/raw/wenyi3.mp4 differ diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..a9b51d3 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..6cd4e0b --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #FF000000 + #FFFFFFFF + #F40606 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..91ad65a --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,5 @@ + + Final_Project_app + + Hello blank fragment + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..c709fa7 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,9 @@ + + + + +