diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 35aab4c..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -AndroidPractise \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 58992cc..7ac24c7 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,21 +3,15 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index fbb6828..5d19981 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index cef4061..59f40aa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 25 + buildToolsVersion "25.0.0" defaultConfig { applicationId "me.shaohui.androidpractise" - minSdkVersion 15 + minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" @@ -22,5 +22,7 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.4.0' + compile 'com.android.support:appcompat-v7:25.0.0' + compile 'com.github.chrisbanes:PhotoView:1.3.1' + compile 'com.wang.avi:library:2.1.3' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 38d36a5..9085db5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,22 +1,54 @@ + package="me.shaohui.androidpractise" + > - + android:allowBackup="true" + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name" + android:supportsRtl="true" + android:theme="@style/AppTheme" + > + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + - \ No newline at end of file diff --git a/app/src/main/java/me/shaohui/androidpractise/v1020/SharedPreferenceTestActivity.java b/app/src/main/java/me/shaohui/androidpractise/v1020/SharedPreferenceTestActivity.java new file mode 100644 index 0000000..43ced76 --- /dev/null +++ b/app/src/main/java/me/shaohui/androidpractise/v1020/SharedPreferenceTestActivity.java @@ -0,0 +1,30 @@ +package me.shaohui.androidpractise.v1020; + +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import me.shaohui.androidpractise.R; + +public class SharedPreferenceTestActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_shared_preference_test); + } + + private void newInstance() { + SharedPreferences sp1 = getSharedPreferences(getPackageName() + "test", MODE_APPEND); + SharedPreferences sp2 = PreferenceManager.getDefaultSharedPreferences(this); + SharedPreferences sp3 = getPreferences(MODE_PRIVATE); + + sp1.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() { + + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + + } + }); + } +} diff --git a/app/src/main/java/me/shaohui/androidpractise/v1028/ImageActivity.java b/app/src/main/java/me/shaohui/androidpractise/v1028/ImageActivity.java new file mode 100644 index 0000000..ecaf747 --- /dev/null +++ b/app/src/main/java/me/shaohui/androidpractise/v1028/ImageActivity.java @@ -0,0 +1,14 @@ +package me.shaohui.androidpractise.v1028; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import me.shaohui.androidpractise.R; + +public class ImageActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_image); + } +} diff --git a/app/src/main/java/me/shaohui/androidpractise/v1029/StatusBarActivity.java b/app/src/main/java/me/shaohui/androidpractise/v1029/StatusBarActivity.java new file mode 100644 index 0000000..c39157b --- /dev/null +++ b/app/src/main/java/me/shaohui/androidpractise/v1029/StatusBarActivity.java @@ -0,0 +1,30 @@ +package me.shaohui.androidpractise.v1029; + +import android.app.Fragment; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.TextView; +import me.shaohui.androidpractise.R; + +public class StatusBarActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + getFragmentManager().beginTransaction() + .replace(android.R.id.content, new Fragment()) + .commit(); + + + ViewGroup parent = (ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content); + parent.addView(new TextView(this)); + + getFragmentManager().beginTransaction() + .add(android.R.id.content, new Fragment()) + .commit(); + } +} diff --git a/app/src/main/java/me/shaohui/androidpractise/v1103/AVloadingDemo.java b/app/src/main/java/me/shaohui/androidpractise/v1103/AVloadingDemo.java new file mode 100644 index 0000000..3886ad4 --- /dev/null +++ b/app/src/main/java/me/shaohui/androidpractise/v1103/AVloadingDemo.java @@ -0,0 +1,34 @@ +package me.shaohui.androidpractise.v1103; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import com.wang.avi.AVLoadingIndicatorView; +import me.shaohui.androidpractise.R; + +public class AVloadingDemo extends AppCompatActivity { + + private AVLoadingIndicatorView mAVLoadingIndicatorView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_avloading_demo); + + mAVLoadingIndicatorView = (AVLoadingIndicatorView) findViewById(R.id.av_loading); + + + findViewById(R.id.action_start).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mAVLoadingIndicatorView.show(); + } + }); + findViewById(R.id.action_stop).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mAVLoadingIndicatorView.hide(); + } + }); + } +} diff --git a/app/src/main/java/me/shaohui/androidpractise/v1111/ReceiveDataActivity.java b/app/src/main/java/me/shaohui/androidpractise/v1111/ReceiveDataActivity.java new file mode 100644 index 0000000..8932c90 --- /dev/null +++ b/app/src/main/java/me/shaohui/androidpractise/v1111/ReceiveDataActivity.java @@ -0,0 +1,47 @@ +package me.shaohui.androidpractise.v1111; + +import android.content.Intent; +import android.net.Uri; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.text.TextUtils; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; +import java.net.URL; +import java.util.ArrayList; +import me.shaohui.androidpractise.R; +import org.w3c.dom.Text; + +public class ReceiveDataActivity extends AppCompatActivity { + + private TextView mTextView; + + private ImageView mImageView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_receive_data); + + mTextView = (TextView) findViewById(R.id.text_view); + mImageView = (ImageView) findViewById(R.id.image_view); + + String action = getIntent().getAction(); + String type = getIntent().getType(); + + //if (TextUtils.equals(action, Intent.ACTION_SEND)) { + // if (TextUtils.equals(type, "text/plain")) { + // String text = getIntent().getStringExtra(Intent.EXTRA_TEXT); + // mTextView.setText(text); + // } else if (type.startsWith("image/")) { + // Uri uri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM); + // mImageView.setImageURI(uri); + // } + //} else if (TextUtils.equals(action, Intent.ACTION_SEND_MULTIPLE)) { + // ArrayList uris = getIntent().getParcelableArrayListExtra(Intent.EXTRA_STREAM); + // mImageView.setImageURI(uris.get(0)); + // mTextView.setText(uris.size()); + //} + } +} diff --git a/app/src/main/java/me/shaohui/androidpractise/v1111/SimpleShareActivity.java b/app/src/main/java/me/shaohui/androidpractise/v1111/SimpleShareActivity.java new file mode 100644 index 0000000..1dfccd0 --- /dev/null +++ b/app/src/main/java/me/shaohui/androidpractise/v1111/SimpleShareActivity.java @@ -0,0 +1,81 @@ +package me.shaohui.androidpractise.v1111; + +import android.app.Activity; +import android.content.Intent; +import android.database.Cursor; +import android.net.Uri; +import android.provider.MediaStore; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.Toast; +import me.shaohui.androidpractise.R; + +public class SimpleShareActivity extends AppCompatActivity { + + private String imagePath; + + private Uri imageUri = Uri.parse("content://media/external/images/media/37875"); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_simple_share); + + findViewById(R.id.btn_select).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + selectImage(); + } + }); + + findViewById(R.id.btn_share).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + //shareImage(); + shareText(); + } + }); + } + + private void selectImage() { + Intent intent = new Intent(Intent.ACTION_GET_CONTENT); + intent.setType("image/*"); + startActivityForResult(intent, 666); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (resultCode == Activity.RESULT_OK) { + String[] selection = new String[] { MediaStore.Images.ImageColumns.DATA }; + if (data != null) { + imageUri = data.getData(); + Cursor cursor = getContentResolver().query(imageUri, null, null, null, null); + Log.i("TAG", cursor.getColumnIndex(selection[0]) + ""); + imagePath = cursor.getString(cursor.getColumnIndex(selection[0])); + cursor.close(); + //Toast.makeText(this, imagePath, Toast.LENGTH_SHORT).show(); + } + } + } + + private void saveLocalImage() { + + } + + private void shareImage() { + Intent share = new Intent(Intent.ACTION_SEND); + share.putExtra(Intent.EXTRA_STREAM, imageUri); + share.setType("image/*"); + startActivity(Intent.createChooser(share, "分享试试")); + } + + private void shareText() { + Intent share = new Intent(Intent.ACTION_SEND); + share.putExtra(Intent.EXTRA_TEXT, "测试分享"); + share.setType("text/plain"); + startActivity(Intent.createChooser(share, "分享试试")); + } + +} diff --git a/app/src/main/res/layout/activity_avloading_demo.xml b/app/src/main/res/layout/activity_avloading_demo.xml new file mode 100644 index 0000000..98b6749 --- /dev/null +++ b/app/src/main/res/layout/activity_avloading_demo.xml @@ -0,0 +1,36 @@ + + + + +