FirebaseAuth.AuthStateListener mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
updateUI(user);
}
};
public class MainActivity implements AdapterView.OnItemSelectedListener {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
....
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
...
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
parent.getItemAtPosition(position);
switch (position) {
case 0:
return;
//этот будет срабатывать сразу при отображении спиннера
case 1:
Intent intent = new Intent(this, Main2Activity.class);
startActivity(intent);
return;
case 2:
Intent intent = new Intent(this, Main3Activity.class);
startActivity(intent);
return;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
</string-array>
public class MainActivity {
...
public String BEST_TEXT;
public String SCORE_TEXT;
public String BEST_TEXT_GAME;
...
@Override
protected void onCreate ... {
...
BEST_TEXT = getString(R.string.BEST_TEXT);
SCORE_TEXT = getString(R.string.SCORE_TEXT);
...
<string name="BEST_TEXT">High Score:" "</string>
<string name="BEST_TEXT">Рекорд:" "</string>
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
...
View navHeader = navigationView.getHeaderView(0);
TextView twNavBarName = (TextView) navHeader.findViewById(R.id.nav_header_tw_name);
twNavBarName.setText("automatik");
private TextView Sum = (TextView) findViewById(R.id.textView9);
public class ActivityCalc extends AppCompatActivity {
private TextView Sum;
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calc);
...
Sum = (TextView) findViewById(R.id.textView9)
<menu>
<item
android:id="@+id/messages_item"
android:icon="@drawable/ic_notifications_neg"
app:actionLayout="@layout/counter"
android:title="@string/message_center"/>
<item
android:id="@+id/search_item"
android:icon="@drawable/ic_search_neg"
android:title="@string/search"/>
</menu>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="26dp"
android:layout_height="26dp"
android:text="14"/>
<activity android:name=".MyActivity"
android:windowSoftInputMode="adjustResize">
</activity>
getWindow().setBackgroundDrawableResource(R.drawable.bg);
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:id="@+id/rel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:isScrollContainer="false">
<ImageView
android:layout_width="match_parent"
android:layout_height="160dp"
android:src="@drawable/firebase_lockup_400"/>
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:background="@color/colorPrimary"
android:text="Log In"
android:textAllCaps="false"
android:textColor="#FFFFFF"
android:textSize="17sp"/>
<android.support.design.widget.TextInputLayout
android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/button1">
<EditText
android:id="@+id/password_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword"
android:textColorHint="@android:color/white"
android:textCursorDrawable="@drawable/star"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/text2">
<EditText
android:id="@+id/email_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter email"
android:inputType="textEmailAddress"
android:textColor="@android:color/white"
android:textCursorDrawable="@drawable/star"/>
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
Мне нужно решить такую проблему: хочу, чтобы из моего приложения я мог передавать любой файл в другое приложение, которое сможет его открыть
Uri fileUri = Uri.fromFile(new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/alpha_stmoritz_train.jpg"));
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, fileUri);
intent.setType("image/*");
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(intent, "Share Image:"));
К примеру, открыть фото в галерее. Как это сделать?
Uri fileUri = Uri.fromFile(new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) +
"/alpha_stmoritz_train.jpg"));
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(fileUri, "image/*");
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<root-path name="root" path="." />
</paths>
String localUri = "/storage/emulated/0/Pictures/alpha_stmoritz_train.jpg"; //тут уже как хотите так и формируйте путь, хоть через Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + имя файла
File file = new File(localUri);
Uri contentUri = FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + ".provider", file);
Intent openFileIntent = new Intent(Intent.ACTION_VIEW);
openFileIntent.setDataAndTypeAndNormalize(contentUri, "image/*");
openFileIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(openFileIntent);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
...
} else {
...
}
@Override
public void onBackPressed() {
int count = getFragmentManager().getBackStackEntryCount();
if (count == 0) {
super.onBackPressed();
}
else {
getFragmentManager().popBackStack();
}
}
<resources
xmlns:android="http://schemas.android.com/apk/res/android">
<dimen name="my_margin">250dp</dimen>
</resources>
android:layout_margin="@dimen/my_margin"