commit 2302c917870d14609f87780861c346026e34ea65 Author: wangh <123456> Date: Mon Aug 7 09:50:53 2023 +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..fb7f4a8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/dictionaries b/.idea/dictionaries new file mode 100644 index 0000000..58d4f30 --- /dev/null +++ b/.idea/dictionaries @@ -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..0b7fd56 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..0380d8d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..860da66 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file 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 b/app/build.gradle new file mode 100644 index 0000000..159dc6d --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,48 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdkVersion 30 + buildToolsVersion "30.0.3" + + defaultConfig { + applicationId "com.example.pulit" + minSdkVersion 26 + targetSdkVersion 30 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'com.google.android.material:material:1.2.1' + implementation 'androidx.constraintlayout:constraintlayout:2.0.1' + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + implementation 'com.jakewharton:butterknife:10.2.0' + annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0' + // https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 + implementation 'com.alibaba.fastjson2:fastjson2:2.0.38' + // https://mvnrepository.com/artifact/com.android.volley/volley + implementation 'com.android.volley:volley:1.2.1' + + + +} \ 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/pulit/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/pulit/ExampleInstrumentedTest.java new file mode 100644 index 0000000..750167e --- /dev/null +++ b/app/src/androidTest/java/com/example/pulit/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.pulit; + +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.pulit", 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..56cc9af --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/pulit/BaseActivity.java b/app/src/main/java/com/example/pulit/BaseActivity.java new file mode 100644 index 0000000..ab182e0 --- /dev/null +++ b/app/src/main/java/com/example/pulit/BaseActivity.java @@ -0,0 +1,52 @@ +package com.example.pulit; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; + +public abstract class BaseActivity extends AppCompatActivity { + private ScanBroadcastReceiver scanBroadcastReceiver; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + scanBroadcastReceiver = new ScanBroadcastReceiver(); + } + + @Override + protected void onResume() { + super.onResume(); + + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction("com.qs.scancode"); + this.registerReceiver(scanBroadcastReceiver, intentFilter); + } + + private class ScanBroadcastReceiver extends BroadcastReceiver{ + + @Override + public void onReceive(Context context, Intent intent) { + scanInfo(intent.getExtras().getString("data")); + } + } + public abstract void scanInfo(String info); + + public void sanCode() { + //模拟触发扫描按键,发出广播,开始扫描 + Intent intentBroadcast = new Intent(); + intentBroadcast.setAction("hbyapi.intent.key_scan_down"); + sendBroadcast(intentBroadcast); + } + + + @Override + protected void onDestroy() { + // TODO Auto-generated method stub + //退出时候注销广播接收器 + unregisterReceiver(scanBroadcastReceiver); + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/pulit/MainActivity.java b/app/src/main/java/com/example/pulit/MainActivity.java new file mode 100644 index 0000000..f318ced --- /dev/null +++ b/app/src/main/java/com/example/pulit/MainActivity.java @@ -0,0 +1,60 @@ +package com.example.pulit; + +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Toast; + +import androidx.appcompat.app.AppCompatActivity; + +import com.example.pulit.dialog.SettingIPDialog; +import com.example.pulit.util.SharedPreferencesUtils; + +import butterknife.ButterKnife; +import butterknife.OnClick; + +public class MainActivity extends AppCompatActivity { + private SettingIPDialog textDialog; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + ButterKnife.bind(this); + textDialog=new SettingIPDialog(this); + String ip = SharedPreferencesUtils.getstring("ip", null); + if (ip==null||ip.isEmpty()){ + Toast.makeText(this, "先设置ip", Toast.LENGTH_SHORT).show(); + textDialog.show(); + } + } + + + + @OnClick({R.id.home_xl_b, R.id.home_xl_t, R.id.home_rj_c, R.id.home_rj_t, R.id.home_setting, R.id.home_back}) + public void onClick(View view) { + Intent intent=null; + switch (view.getId()) { + case R.id.home_xl_b: + intent=new Intent(this,X1Activity.class); + break; + case R.id.home_xl_t: + break; + case R.id.home_rj_c: + break; + case R.id.home_rj_t: + break; + case R.id.home_setting: + textDialog.setIpAddress(SharedPreferencesUtils.getstring("ip", null)); + textDialog.show(); + break; + case R.id.home_back: + finish(); + break; + } + if (intent!=null){ + startActivity(intent); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/pulit/MyApplication.java b/app/src/main/java/com/example/pulit/MyApplication.java new file mode 100644 index 0000000..7abc431 --- /dev/null +++ b/app/src/main/java/com/example/pulit/MyApplication.java @@ -0,0 +1,61 @@ +package com.example.pulit; + +import android.app.Application; + + +import com.example.pulit.util.SharedPreferencesUtils; + +import java.util.concurrent.TimeUnit; +import java.util.logging.Level; + + +/** + * @author: wangh + * @description: + * @date: 2019/06/11-13:01 + */ +public class MyApplication extends Application { + + private static MyApplication mInstance; + + @Override + public void onCreate() { + super.onCreate(); + SharedPreferencesUtils.init(getApplicationContext(), "myapp"); + okGoBase(); + + mInstance = this; + } + + public static MyApplication getInstance() { + return mInstance; + } + + + //OKGO 初始化 + private void okGoBase() { + /* OkHttpClient.Builder builder = new OkHttpClient.Builder(); + HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor("OkGo"); + //log打印级别,决定了log显示的详细程度 + loggingInterceptor.setPrintLevel(HttpLoggingInterceptor.Level.BODY); + //log颜色级别,决定了log在控制台显示的颜色 + loggingInterceptor.setColorLevel(Level.INFO); + //方法一:信任所有证书,不安全有风险 + HttpsUtils.SSLParams sslParams1 = HttpsUtils.getSslSocketFactory(); + builder.sslSocketFactory(sslParams1.sSLSocketFactory, sslParams1.trustManager); + + builder.addInterceptor(loggingInterceptor); +//全局的读取超时时间 + builder.readTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS); +//全局的写入超时时间 + builder.writeTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS); +//全局的连接超时时间 + builder.connectTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS); + //使用内存保持cookie,app退出后,cookie消失 + builder.cookieJar(new CookieJarImpl(new MemoryCookieStore())); + OkGo.getInstance().init(this).setOkHttpClient(builder.build()) //建议设置OkHttpClient,不设置将使用默认的 + .setCacheMode(CacheMode.NO_CACHE) //全局统一缓存模式,默认不使用缓存,可以不传 + .setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE) //全局统一缓存时间,默认永不过期,可以不传 + .setRetryCount(3);*/ + } +} diff --git a/app/src/main/java/com/example/pulit/X1Activity.java b/app/src/main/java/com/example/pulit/X1Activity.java new file mode 100644 index 0000000..8e36529 --- /dev/null +++ b/app/src/main/java/com/example/pulit/X1Activity.java @@ -0,0 +1,49 @@ +package com.example.pulit; + +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; +import android.widget.Toast; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnClick; + +public class X1Activity extends BaseActivity { + + @BindView(R.id.x1_code) + TextView x1Code; + @BindView(R.id.x1_plan_name) + TextView x1PlanName; + @BindView(R.id.x1_goods_code) + TextView x1GoodsCode; + @BindView(R.id.x1_goods_name) + TextView x1GoodsName; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_x1); + ButterKnife.bind(this); + } + + @Override + public void scanInfo(String info) { + Toast.makeText(this, info, Toast.LENGTH_SHORT).show(); + } + + + @OnClick({R.id.info_title_back, R.id.x1_scan, R.id.x1_submit}) + public void onClick(View view) { + switch (view.getId()) { + case R.id.info_title_back: + finish(); + break; + case R.id.x1_scan: + super.sanCode(); + break; + case R.id.x1_submit: + break; + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/pulit/dialog/MyDialog.java b/app/src/main/java/com/example/pulit/dialog/MyDialog.java new file mode 100644 index 0000000..c91efc3 --- /dev/null +++ b/app/src/main/java/com/example/pulit/dialog/MyDialog.java @@ -0,0 +1,33 @@ +package com.example.pulit.dialog; + +import android.app.ProgressDialog; +import android.content.Context; +import android.view.Window; + +/** + * @author: wangh + * @description: 网路请求dialog + * @date: 2019/08/06-17:53 + */ +public class MyDialog { + private ProgressDialog dialog; + private Context context; + + + public MyDialog(Context context) { + this.context = context; + dialog = new ProgressDialog(context); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setCanceledOnTouchOutside(false); + dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); + dialog.setMessage("请求网络..."); + } + + public void show(){ + dialog.show(); + } + public void dismiss(){ + dialog.dismiss(); + } + +} diff --git a/app/src/main/java/com/example/pulit/dialog/SettingIPDialog.java b/app/src/main/java/com/example/pulit/dialog/SettingIPDialog.java new file mode 100644 index 0000000..eb598ce --- /dev/null +++ b/app/src/main/java/com/example/pulit/dialog/SettingIPDialog.java @@ -0,0 +1,65 @@ +package com.example.pulit.dialog; + +import android.app.Dialog; +import android.content.Context; +import android.net.IpPrefix; +import android.os.Bundle; +import android.view.View; +import android.widget.EditText; + +import androidx.annotation.NonNull; + +import com.example.pulit.R; +import com.example.pulit.util.SharedPreferencesUtils; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnClick; + +/** + * @author wanghao + * @date 2022/11/7 16:24 + */ +public class SettingIPDialog extends Dialog { + @BindView(R.id.dialog3_info) + EditText dialog3Info; + private String ipAddress; + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + public SettingIPDialog(@NonNull Context context) { + super(context, R.style.CustomDialog); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.dialog_edit); + ButterKnife.bind(this); + setCanceledOnTouchOutside(false); + } + + @OnClick({R.id.dialog3_button2, R.id.dialog3_button1}) + public void onClick(View view) { + switch (view.getId()) { + case R.id.dialog3_button2: + + break; + case R.id.dialog3_button1: + + SharedPreferencesUtils.putstring("ip",dialog3Info.getText().toString()); + break; + } + dismiss(); + } + + @Override + public void show() { + super.show(); + dialog3Info.setText(ipAddress); + } + + +} diff --git a/app/src/main/java/com/example/pulit/dialog/TipDialog.java b/app/src/main/java/com/example/pulit/dialog/TipDialog.java new file mode 100644 index 0000000..00caa51 --- /dev/null +++ b/app/src/main/java/com/example/pulit/dialog/TipDialog.java @@ -0,0 +1,45 @@ +package com.example.pulit.dialog; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import com.example.pulit.R; + +import butterknife.BindView; +import butterknife.OnClick; + + +/** + * @author: wangh + * @description: + * @date: 2019-11-05 17:21 + */ +public class TipDialog extends Dialog { + + @BindView(R.id.tip1_state) + ImageView tip1State; + @BindView(R.id.tip1_info) + TextView tip1Info; + private boolean state; + + + public TipDialog(@NonNull Context context) { + super(context, R.style.CustomDialog); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.dialog_layout); + } + + @OnClick(R.id.tip1_button) + public void onClick() { + + } +} diff --git a/app/src/main/java/com/example/pulit/dialog/TipDialog2.java b/app/src/main/java/com/example/pulit/dialog/TipDialog2.java new file mode 100644 index 0000000..101725f --- /dev/null +++ b/app/src/main/java/com/example/pulit/dialog/TipDialog2.java @@ -0,0 +1,62 @@ +package com.example.pulit.dialog; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; + +import com.example.pulit.R; + + +/** + * @author: wangh + * @description: + * @date: 2019-11-05 17:21 + */ +public class TipDialog2 extends Dialog { + + + TextView dialogInfo, button; + private CallBack callBack; + String epc; + + public TipDialog2(Context context) { + super(context, R.style.CustomDialog); + } + + public void setCallBack(CallBack callBack) { + this.callBack = callBack; + } + + public void setEpc(String epc) { + this.epc = epc; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.dialog_layout2); + setCanceledOnTouchOutside(false); + dialogInfo = findViewById(R.id.dialog_info); + button = findViewById(R.id.dialog_button); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + callBack.showSave(epc); + } + }); + button = findViewById(R.id.dialog_button2); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + dismiss(); + } + }); + + } + + public interface CallBack { + void showSave(String epc); + } +} diff --git a/app/src/main/java/com/example/pulit/util/SharedPreferencesUtils.java b/app/src/main/java/com/example/pulit/util/SharedPreferencesUtils.java new file mode 100644 index 0000000..c1e519e --- /dev/null +++ b/app/src/main/java/com/example/pulit/util/SharedPreferencesUtils.java @@ -0,0 +1,86 @@ +package com.example.pulit.util; + +import android.content.Context; +import android.content.SharedPreferences; + +/** + * Created by wang 18/7/5 + */ + +public class SharedPreferencesUtils { + private static SharedPreferences sharedPreferences; + private static SharedPreferences.Editor edit; + + public static void init(Context context, String name) { + sharedPreferences = context.getSharedPreferences(name, context.MODE_PRIVATE); + edit = sharedPreferences.edit(); + edit.commit(); + } + + public static void putstring(String key, String value) { + if (edit != null) { + edit.putString(key, value); + edit.commit(); + } + } + public static void putInt(String key, int value) { + if (edit != null) { + edit.putInt(key, value); + edit.commit(); + } + } + + public static int getInt(String key, int value) { + if (sharedPreferences != null) { + return sharedPreferences.getInt(key,value); + } + return 0; + } + + + public static void putboolean(String key, boolean value) { + if (edit != null) { + edit.putBoolean(key, value); + edit.commit(); + } + } + + /** + * 取得方法 + */ + + public static String getstring(String key, String deaflut) { + if (sharedPreferences != null) { + return sharedPreferences.getString(key, deaflut); + } + return ""; + } + + public static boolean getboolean(String key, boolean aaa) { + if (sharedPreferences != null) { + boolean aBoolean = sharedPreferences.getBoolean(key, aaa); + return aBoolean; + } + return false; + } + + /** + * remo + */ + public static void removeKey(String key) { + if (edit != null) { + edit.remove(key); + edit.commit(); + } + } + public static void Clean() { + //清空数据 + try { + edit.clear(); + edit.commit(); + }catch (Exception e){ + e.printStackTrace(); + } + + } +} diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_button1.xml b/app/src/main/res/drawable/bg_button1.xml new file mode 100644 index 0000000..1036b3d --- /dev/null +++ b/app/src/main/res/drawable/bg_button1.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_button2.xml b/app/src/main/res/drawable/bg_button2.xml new file mode 100644 index 0000000..7978971 --- /dev/null +++ b/app/src/main/res/drawable/bg_button2.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_button3.xml b/app/src/main/res/drawable/bg_button3.xml new file mode 100644 index 0000000..d4f2cbc --- /dev/null +++ b/app/src/main/res/drawable/bg_button3.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/dialog_bg.xml b/app/src/main/res/drawable/dialog_bg.xml new file mode 100644 index 0000000..e05e18b --- /dev/null +++ b/app/src/main/res/drawable/dialog_bg.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file 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/layout_bg3.xml b/app/src/main/res/drawable/layout_bg3.xml new file mode 100644 index 0000000..8b0a2dc --- /dev/null +++ b/app/src/main/res/drawable/layout_bg3.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/text_bg1.xml b/app/src/main/res/drawable/text_bg1.xml new file mode 100644 index 0000000..298bff0 --- /dev/null +++ b/app/src/main/res/drawable/text_bg1.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/text_bg2.xml b/app/src/main/res/drawable/text_bg2.xml new file mode 100644 index 0000000..d17ae18 --- /dev/null +++ b/app/src/main/res/drawable/text_bg2.xml @@ -0,0 +1,6 @@ + + + + + + \ 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..637306e --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + +