commit dc8461ea9c26d60ed0d8fb38f1cb94c2354124ce Author: 奶猫Milky <56239696+MilkyCatsss@users.noreply.github.com> Date: Thu Nov 28 14:34:49 2024 +0800 ModuleC Project Only have HomePage 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..4bd7454 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + alias(libs.plugins.android.application) +} + +android { + namespace = "edu.worldskills.b21" + compileSdk = 34 + + defaultConfig { + applicationId = "edu.worldskills.b21" + minSdk = 29 + targetSdk = 34 + 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 { + + implementation(libs.appcompat) + implementation(libs.material) + implementation(libs.activity) + implementation(libs.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.ext.junit) + androidTestImplementation(libs.espresso.core) +} \ 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/edu/worldskills/b21/ExampleInstrumentedTest.java b/app/src/androidTest/java/edu/worldskills/b21/ExampleInstrumentedTest.java new file mode 100644 index 0000000..0a9ff0b --- /dev/null +++ b/app/src/androidTest/java/edu/worldskills/b21/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package edu.worldskills.b21; + +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("edu.worldskills.b21", 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..7072c55 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/edu/worldskills/b21/AllServiceActivity.java b/app/src/main/java/edu/worldskills/b21/AllServiceActivity.java new file mode 100644 index 0000000..83ba799 --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/AllServiceActivity.java @@ -0,0 +1,62 @@ +package edu.worldskills.b21; + +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.google.android.material.bottomnavigation.BottomNavigationView; + +public class AllServiceActivity extends AppCompatActivity { + + private void initBar() { + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.hide(); + } + } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_all_service); + + initBar(); + BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navgation); + + bottomNavigationView.setSelectedItemId(R.id.service); + + bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + switch (menuItem.getItemId()) { + case R.id.home: + startActivity(new Intent(getApplicationContext(), MainActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.service: + return true; + case R.id.patient: + startActivity(new Intent(getApplicationContext(), PatientActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.post: + startActivity(new Intent(getApplicationContext(), YoungPostActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.person: + startActivity(new Intent(getApplicationContext(), OwnActivity.class)); + overridePendingTransition(0,0); + return true; + } + return false; + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/edu/worldskills/b21/ListViewAdapter.java b/app/src/main/java/edu/worldskills/b21/ListViewAdapter.java new file mode 100644 index 0000000..ab53a05 --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/ListViewAdapter.java @@ -0,0 +1,51 @@ +package edu.worldskills.b21; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import java.text.SimpleDateFormat; +import java.util.List; + +public class ListViewAdapter extends ArrayAdapter { + private Context mcontext; + private int mresource; + + public ListViewAdapter(@NonNull Context context, int resource, @NonNull List objects) { + super(context, resource, objects); + this.mcontext = context; + this.mresource = resource; + } + + @SuppressLint("ViewHolder") + @NonNull + @Override + public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { + convertView = LayoutInflater.from(this.mcontext).inflate(this.mresource, parent, false); + + // 找到需要填入数据的控件 + ImageView image = convertView.findViewById(R.id.iv_image); + TextView title = convertView.findViewById(R.id.iv_title); + TextView subTitle = convertView.findViewById(R.id.iv_subTitle); + TextView count = convertView.findViewById(R.id.iv_comment_count); + TextView date = convertView.findViewById(R.id.iv_date); + + // 设置内容 + title.setText(getItem(position).getTitle()); + subTitle.setText(getItem(position).getSubTitle()); + count.setText(getItem(position).getCount()); + date.setText(getItem(position).getDate()); + image.setImageResource(getItem(position).getImage()); + + + return convertView; + } +} diff --git a/app/src/main/java/edu/worldskills/b21/MainActivity.java b/app/src/main/java/edu/worldskills/b21/MainActivity.java new file mode 100644 index 0000000..e09c72d --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/MainActivity.java @@ -0,0 +1,110 @@ +package edu.worldskills.b21; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.ListView; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.google.android.material.bottomnavigation.BottomNavigationView; + +import org.w3c.dom.Node; + +import java.util.ArrayList; +import java.util.Date; + +public class MainActivity extends AppCompatActivity { + ListView listView; + + private void initBar() { + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.hide(); + } + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + initBar(); + + BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navgation); + + bottomNavigationView.setSelectedItemId(R.id.home); + + bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + switch (menuItem.getItemId()) { + case R.id.home: + return true; + case R.id.service: + startActivity(new Intent(getApplicationContext(), AllServiceActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.patient: + startActivity(new Intent(getApplicationContext(), PatientActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.post: + startActivity(new Intent(getApplicationContext(), YoungPostActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.person: + startActivity(new Intent(getApplicationContext(), OwnActivity.class)); + overridePendingTransition(0,0); + return true; + } + return false; + } + }); + + listView = findViewById(R.id.newsListView); + ArrayList techList = new ArrayList<>(); + techList.add(new NoteModel(R.drawable.image1,"第一个科技新闻","第一个科技新闻的副标题","10" , "2020-12-31 11:20")); + techList.add(new NoteModel(R.drawable.image2,"第二个科技新闻","第二个科技新闻的副标题","20" , "2021-11-20 00:00")); + + + ListViewAdapter listViewAdapter = new ListViewAdapter(MainActivity.this, R.layout.listview_item, techList); + listView.setAdapter(listViewAdapter); + + + // 设置“服务详情”按钮点击事件 + @SuppressLint({"MissingInflatedId", "LocalSuppress"}) + LinearLayout serviceDetails = findViewById(R.id.serviceButton); + serviceDetails.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // 跳转到服务详情界面 + Intent intent = new Intent(MainActivity.this, ServiceActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + startActivity(intent); + } + }); + + // 设置“更多服务”按钮点击事件 + @SuppressLint({"MissingInflatedId", "LocalSuppress"}) + LinearLayout moreButton = findViewById(R.id.more_service); + moreButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // 跳转到更多服务页面 + Intent intent = new Intent(MainActivity.this, AllServiceActivity.class); + startActivity(intent); + } + }); + + + } +} \ No newline at end of file diff --git a/app/src/main/java/edu/worldskills/b21/NoteModel.java b/app/src/main/java/edu/worldskills/b21/NoteModel.java new file mode 100644 index 0000000..810d093 --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/NoteModel.java @@ -0,0 +1,39 @@ +package edu.worldskills.b21; + +import java.util.Date; + +public class NoteModel { + private int image; + private String title; + private String subTitle; + private String count; + private String date; + + public NoteModel(int image, String title, String subTitle, String count, String date) { + this.image = image; + this.title = title; + this.subTitle = subTitle; + this.count = count; + this.date = date; + } + + public String getTitle() { + return title; + } + + public String getSubTitle() { + return subTitle; + } + + public String getCount() { + return count; + } + + public String getDate() { + return date; + } + + public int getImage() { + return image; + } +} diff --git a/app/src/main/java/edu/worldskills/b21/OwnActivity.java b/app/src/main/java/edu/worldskills/b21/OwnActivity.java new file mode 100644 index 0000000..cd87787 --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/OwnActivity.java @@ -0,0 +1,62 @@ +package edu.worldskills.b21; + +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.google.android.material.bottomnavigation.BottomNavigationView; + +public class OwnActivity extends AppCompatActivity { + private void initBar() { + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.hide(); + } + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_own); + initBar(); + + BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navgation); + + bottomNavigationView.setSelectedItemId(R.id.person); + + bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + switch (menuItem.getItemId()) { + case R.id.home: + startActivity(new Intent(getApplicationContext(), MainActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.service: + startActivity(new Intent(getApplicationContext(), AllServiceActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.patient: + startActivity(new Intent(getApplicationContext(), PatientActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.post: + startActivity(new Intent(getApplicationContext(), YoungPostActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.person: + return true; + } + return false; + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/edu/worldskills/b21/PatientActivity.java b/app/src/main/java/edu/worldskills/b21/PatientActivity.java new file mode 100644 index 0000000..5f4be4a --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/PatientActivity.java @@ -0,0 +1,62 @@ +package edu.worldskills.b21; + +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.google.android.material.bottomnavigation.BottomNavigationView; + +public class PatientActivity extends AppCompatActivity { + private void initBar() { + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.hide(); + } + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_patient); + initBar(); + + BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navgation); + + bottomNavigationView.setSelectedItemId(R.id.patient); + + bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + switch (menuItem.getItemId()) { + case R.id.home: + startActivity(new Intent(getApplicationContext(), MainActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.service: + startActivity(new Intent(getApplicationContext(), AllServiceActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.patient: + return true; + case R.id.post: + startActivity(new Intent(getApplicationContext(), YoungPostActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.person: + startActivity(new Intent(getApplicationContext(), OwnActivity.class)); + overridePendingTransition(0,0); + return true; + } + return false; + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/edu/worldskills/b21/ServiceActivity.java b/app/src/main/java/edu/worldskills/b21/ServiceActivity.java new file mode 100644 index 0000000..2c38cb4 --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/ServiceActivity.java @@ -0,0 +1,34 @@ +package edu.worldskills.b21; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class ServiceActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_service); + + @SuppressLint({"MissingInflatedId", "LocalSuppress"}) + Button backButton = findViewById(R.id.back_button); + backButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(ServiceActivity.this, MainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + startActivity(intent); + } + }); + + } +} \ No newline at end of file diff --git a/app/src/main/java/edu/worldskills/b21/YoungPostActivity.java b/app/src/main/java/edu/worldskills/b21/YoungPostActivity.java new file mode 100644 index 0000000..75cdce7 --- /dev/null +++ b/app/src/main/java/edu/worldskills/b21/YoungPostActivity.java @@ -0,0 +1,62 @@ +package edu.worldskills.b21; + +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.google.android.material.bottomnavigation.BottomNavigationView; + +public class YoungPostActivity extends AppCompatActivity { + private void initBar() { + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.hide(); + } + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_young_post); + initBar(); + + BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navgation); + + bottomNavigationView.setSelectedItemId(R.id.post); + + bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + switch (menuItem.getItemId()) { + case R.id.home: + startActivity(new Intent(getApplicationContext(), MainActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.service: + startActivity(new Intent(getApplicationContext(), AllServiceActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.patient: + startActivity(new Intent(getApplicationContext(), PatientActivity.class)); + overridePendingTransition(0,0); + return true; + case R.id.post: + return true; + case R.id.person: + startActivity(new Intent(getApplicationContext(), OwnActivity.class)); + overridePendingTransition(0,0); + return true; + } + return false; + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/allservice_icon_0.png b/app/src/main/res/drawable/allservice_icon_0.png new file mode 100644 index 0000000..42cbb74 Binary files /dev/null and b/app/src/main/res/drawable/allservice_icon_0.png differ diff --git a/app/src/main/res/drawable/home_icon_0.png b/app/src/main/res/drawable/home_icon_0.png new file mode 100644 index 0000000..e3aaa7f Binary files /dev/null and b/app/src/main/res/drawable/home_icon_0.png differ diff --git a/app/src/main/res/drawable/home_icon_1.png b/app/src/main/res/drawable/home_icon_1.png new file mode 100644 index 0000000..cdc779b Binary files /dev/null and b/app/src/main/res/drawable/home_icon_1.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/ic_more.png b/app/src/main/res/drawable/ic_more.png new file mode 100644 index 0000000..09b37c1 Binary files /dev/null and b/app/src/main/res/drawable/ic_more.png differ diff --git a/app/src/main/res/drawable/ic_service1.png b/app/src/main/res/drawable/ic_service1.png new file mode 100644 index 0000000..75471c7 Binary files /dev/null and b/app/src/main/res/drawable/ic_service1.png differ diff --git a/app/src/main/res/drawable/ic_service2.png b/app/src/main/res/drawable/ic_service2.png new file mode 100644 index 0000000..513a976 Binary files /dev/null and b/app/src/main/res/drawable/ic_service2.png differ diff --git a/app/src/main/res/drawable/ic_service3.png b/app/src/main/res/drawable/ic_service3.png new file mode 100644 index 0000000..77d313b Binary files /dev/null and b/app/src/main/res/drawable/ic_service3.png differ diff --git a/app/src/main/res/drawable/image1.png b/app/src/main/res/drawable/image1.png new file mode 100644 index 0000000..9c68af1 Binary files /dev/null and b/app/src/main/res/drawable/image1.png differ diff --git a/app/src/main/res/drawable/image2.png b/app/src/main/res/drawable/image2.png new file mode 100644 index 0000000..17dd692 Binary files /dev/null and b/app/src/main/res/drawable/image2.png differ diff --git a/app/src/main/res/drawable/image3.png b/app/src/main/res/drawable/image3.png new file mode 100644 index 0000000..06b231a Binary files /dev/null and b/app/src/main/res/drawable/image3.png differ diff --git a/app/src/main/res/drawable/more_3.png b/app/src/main/res/drawable/more_3.png new file mode 100644 index 0000000..97c876c Binary files /dev/null and b/app/src/main/res/drawable/more_3.png differ diff --git a/app/src/main/res/drawable/my_photo.png b/app/src/main/res/drawable/my_photo.png new file mode 100644 index 0000000..1ac9c59 Binary files /dev/null and b/app/src/main/res/drawable/my_photo.png differ diff --git a/app/src/main/res/drawable/patient_icon_0.png b/app/src/main/res/drawable/patient_icon_0.png new file mode 100644 index 0000000..bfb8786 Binary files /dev/null and b/app/src/main/res/drawable/patient_icon_0.png differ diff --git a/app/src/main/res/drawable/person_icon_0.png b/app/src/main/res/drawable/person_icon_0.png new file mode 100644 index 0000000..693e359 Binary files /dev/null and b/app/src/main/res/drawable/person_icon_0.png differ diff --git a/app/src/main/res/drawable/person_icon_1.png b/app/src/main/res/drawable/person_icon_1.png new file mode 100644 index 0000000..62e0a73 Binary files /dev/null and b/app/src/main/res/drawable/person_icon_1.png differ diff --git a/app/src/main/res/drawable/selector.xml b/app/src/main/res/drawable/selector.xml new file mode 100644 index 0000000..70365e0 --- /dev/null +++ b/app/src/main/res/drawable/selector.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/status_bar.png b/app/src/main/res/drawable/status_bar.png new file mode 100644 index 0000000..eb9faae Binary files /dev/null and b/app/src/main/res/drawable/status_bar.png differ diff --git a/app/src/main/res/drawable/turnback.png b/app/src/main/res/drawable/turnback.png new file mode 100644 index 0000000..fe06abd Binary files /dev/null and b/app/src/main/res/drawable/turnback.png differ diff --git a/app/src/main/res/drawable/youth_icon_0.png b/app/src/main/res/drawable/youth_icon_0.png new file mode 100644 index 0000000..e2cb61f Binary files /dev/null and b/app/src/main/res/drawable/youth_icon_0.png differ diff --git a/app/src/main/res/layout/activity_all_service.xml b/app/src/main/res/layout/activity_all_service.xml new file mode 100644 index 0000000..69a58aa --- /dev/null +++ b/app/src/main/res/layout/activity_all_service.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file 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..4566237 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_own.xml b/app/src/main/res/layout/activity_own.xml new file mode 100644 index 0000000..b98c4d8 --- /dev/null +++ b/app/src/main/res/layout/activity_own.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_patient.xml b/app/src/main/res/layout/activity_patient.xml new file mode 100644 index 0000000..7bb2081 --- /dev/null +++ b/app/src/main/res/layout/activity_patient.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_service.xml b/app/src/main/res/layout/activity_service.xml new file mode 100644 index 0000000..deff3d1 --- /dev/null +++ b/app/src/main/res/layout/activity_service.xml @@ -0,0 +1,37 @@ + + + +