From 9f50f6ee9c670674ce3dab0b9d0c397a6e17cd93 Mon Sep 17 00:00:00 2001 From: Mihai-Cristian Condrea Date: Tue, 2 Sep 2025 11:23:23 +0300 Subject: [PATCH 1/5] Add Room database lesson --- app/build.gradle | 2 + app/src/main/AndroidManifest.xml | 6 + .../lessons/data/room/AppDatabase.java | 29 +++++ .../android/lessons/data/room/Note.java | 22 ++++ .../android/lessons/data/room/NoteDao.java | 19 ++++ .../lessons/data/room/RoomActivity.java | 105 ++++++++++++++++++ app/src/main/res/layout/activity_room.xml | 56 ++++++++++ app/src/main/res/layout/item_note.xml | 6 + app/src/main/res/values/strings.xml | 6 + .../res/xml/preferences_android_studio.xml | 9 ++ gradle/libs.versions.toml | 3 + 11 files changed, 263 insertions(+) create mode 100644 app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/AppDatabase.java create mode 100644 app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/Note.java create mode 100644 app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/NoteDao.java create mode 100644 app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomActivity.java create mode 100644 app/src/main/res/layout/activity_room.xml create mode 100644 app/src/main/res/layout/item_note.xml diff --git a/app/build.gradle b/app/build.gradle index 697fd679..f5f66eae 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,6 +96,8 @@ dependencies { implementation libs.codeview implementation libs.hilt.android annotationProcessor libs.hilt.compiler + implementation libs.androidx.room.runtime + annotationProcessor libs.androidx.room.compiler // Testing testImplementation libs.junit diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 68a1defe..780559bb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -304,6 +304,12 @@ android:label="@string/navigation_drawer" android:parentActivityName=".ui.screens.main.MainActivity" /> + + getAll(); +} diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomActivity.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomActivity.java new file mode 100644 index 00000000..087cba4e --- /dev/null +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomActivity.java @@ -0,0 +1,105 @@ +package com.d4rk.androidtutorials.java.ui.screens.android.lessons.data.room; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.d4rk.androidtutorials.java.R; +import com.d4rk.androidtutorials.java.databinding.ActivityRoomBinding; +import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity; +import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate; +import com.google.android.material.textview.MaterialTextView; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Demonstrates basic Room usage by inserting and reading notes. + */ +public class RoomActivity extends UpNavigationActivity { + private ActivityRoomBinding binding; + private NotesAdapter adapter; + private AppDatabase db; + private final ExecutorService executor = Executors.newSingleThreadExecutor(); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityRoomBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + EdgeToEdgeDelegate edgeToEdgeDelegate = new EdgeToEdgeDelegate(this); + edgeToEdgeDelegate.applyEdgeToEdge(binding.constraintLayout); + + db = AppDatabase.getInstance(this); + + binding.recyclerView.setLayoutManager(new LinearLayoutManager(this)); + adapter = new NotesAdapter(); + binding.recyclerView.setAdapter(adapter); + + loadNotes(); + + binding.buttonAdd.setOnClickListener(v -> { + String text = String.valueOf(binding.editTextNote.getText()).trim(); + if (!text.isEmpty()) { + executor.execute(() -> { + db.noteDao().insert(new Note(text)); + runOnUiThread(() -> { + binding.editTextNote.setText(""); + loadNotes(); + }); + }); + } + }); + } + + private void loadNotes() { + executor.execute(() -> { + List notes = db.noteDao().getAll(); + runOnUiThread(() -> adapter.setNotes(notes)); + }); + } + + private static class NotesAdapter extends RecyclerView.Adapter { + private List notes = new ArrayList<>(); + + void setNotes(List notes) { + this.notes = notes; + notifyDataSetChanged(); + } + + @NonNull + @Override + public NoteViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.item_note, parent, false); + return new NoteViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull NoteViewHolder holder, int position) { + holder.textView.setText(notes.get(position).getText()); + } + + @Override + public int getItemCount() { + return notes.size(); + } + + static class NoteViewHolder extends RecyclerView.ViewHolder { + final MaterialTextView textView; + + NoteViewHolder(View itemView) { + super(itemView); + textView = itemView.findViewById(R.id.textViewNote); + } + } + } +} diff --git a/app/src/main/res/layout/activity_room.xml b/app/src/main/res/layout/activity_room.xml new file mode 100644 index 00000000..f36ede11 --- /dev/null +++ b/app/src/main/res/layout/activity_room.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_note.xml b/app/src/main/res/layout/item_note.xml new file mode 100644 index 00000000..b01b93d1 --- /dev/null +++ b/app/src/main/res/layout/item_note.xml @@ -0,0 +1,6 @@ + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c510abb1..2af6b9a3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -138,6 +138,10 @@ Predictive back gesture + Room database + Enter note + Add note + Layouts and views Linear layout @@ -342,6 +346,8 @@ Permissions are important in Android as you can\'t do tasks, that require permissions, without requesting permissions. Learn how to use per-app languages to make your app more accessible and user-friendly. This feature lets you choose a different language for each app on your device, without the user changing their device language. Android 13 (API level 33) introduces a predictive back gesture for Android devices such as phones, large screens, and foldables. It is part of a multi-year release; when fully implemented, this feature will let users preview the destination or other result of a back gesture before fully completing it, allowing them to decide whether to continue or stay in the current view. + Persist simple notes using Room, an abstraction layer over SQLite. + Room is a persistence library that provides an object mapping layer on top of SQLite. This example shows how to save and display notes. A linear layout is a view group that arranges its children in a single, linear direction, either horizontally or vertically. The orientation of the layout can be specified using the android:orientation attribute. A linear layout can be used to create a variety of user interfaces, such as lists, buttons, and text fields. A relative layout is a layout manager in Android that positions its child views relative to each other or to the parent layout. This makes it a very versatile layout manager, as it can be used to create a wide variety of layouts. Table layout is the process of arranging the cells, rows, and columns of a table in a visually appealing and functional way. diff --git a/app/src/main/res/xml/preferences_android_studio.xml b/app/src/main/res/xml/preferences_android_studio.xml index 3ee83833..6e2132b8 100644 --- a/app/src/main/res/xml/preferences_android_studio.xml +++ b/app/src/main/res/xml/preferences_android_studio.xml @@ -78,6 +78,15 @@ android:action="android.intent.action.VIEW" android:data="https://developer.android.com/guide/navigation/predictive-back-gesture" /> + + + Date: Tue, 2 Sep 2025 11:57:19 +0300 Subject: [PATCH 2/5] Add Room lesson code snippets and fix lint --- app/src/main/AndroidManifest.xml | 6 ++ .../lessons/data/room/AppDatabase.java | 2 +- .../lessons/data/room/RoomActivity.java | 9 ++- .../lessons/data/room/RoomCodeActivity.java | 81 +++++++++++++++++++ .../data/room/tabs/RoomTabCodeFragment.java | 59 ++++++++++++++ .../data/room/tabs/RoomTabLayoutFragment.java | 59 ++++++++++++++ app/src/main/res/layout/activity_room.xml | 15 ++++ app/src/main/res/raw/text_room_java.txt | 28 +++++++ app/src/main/res/raw/text_room_xml.txt | 26 ++++++ app/src/main/res/values/strings.xml | 10 +-- 10 files changed, 288 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java create mode 100644 app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabCodeFragment.java create mode 100644 app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabLayoutFragment.java create mode 100644 app/src/main/res/raw/text_room_java.txt create mode 100644 app/src/main/res/raw/text_room_xml.txt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 780559bb..28a49287 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -310,6 +310,12 @@ android:label="@string/room_database" android:parentActivityName=".ui.screens.main.MainActivity" /> + + + startActivity(new Intent(RoomActivity.this, RoomCodeActivity.class))); + handler.postDelayed(() -> binding.floatingButtonShowSyntax.shrink(), 5000); } private void loadNotes() { diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java new file mode 100644 index 00000000..3988dad1 --- /dev/null +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java @@ -0,0 +1,81 @@ +package com.d4rk.androidtutorials.java.ui.screens.android.lessons.data.room; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentStateAdapter; + +import com.d4rk.androidtutorials.java.R; +import com.d4rk.androidtutorials.java.databinding.ActivityTabLayoutBinding; +import com.d4rk.androidtutorials.java.ui.components.navigation.UpNavigationActivity; +import com.d4rk.androidtutorials.java.ui.screens.android.lessons.data.room.tabs.RoomTabCodeFragment; +import com.d4rk.androidtutorials.java.ui.screens.android.lessons.data.room.tabs.RoomTabLayoutFragment; +import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate; +import com.google.android.material.tabs.TabLayoutMediator; + +import java.util.ArrayList; + +/** + * Displays Java and XML snippets for the Room database example. + */ +public class RoomCodeActivity extends UpNavigationActivity { + private ActivityTabLayoutBinding binding; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityTabLayoutBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + EdgeToEdgeDelegate edgeToEdgeDelegate = new EdgeToEdgeDelegate(this); + edgeToEdgeDelegate.applyEdgeToEdge(binding.appBarLayout); + + setupViewPager(); + + new TabLayoutMediator(binding.tabs, binding.viewpager, (tab, position) -> { + ViewPagerAdapter adapter = (ViewPagerAdapter) binding.viewpager.getAdapter(); + if (adapter != null) { + tab.setText(adapter.getPageTitle(position)); + } + }).attach(); + } + + private void setupViewPager() { + ViewPagerAdapter adapter = new ViewPagerAdapter(this); + adapter.addFragment(new RoomTabCodeFragment(), getString(R.string.code_java)); + adapter.addFragment(new RoomTabLayoutFragment(), getString(R.string.layout_xml)); + binding.viewpager.setAdapter(adapter); + } + + private static class ViewPagerAdapter extends FragmentStateAdapter { + private final ArrayList fragmentList = new ArrayList<>(); + private final ArrayList fragmentTitleList = new ArrayList<>(); + + ViewPagerAdapter(@NonNull UpNavigationActivity activity) { + super(activity); + } + + void addFragment(@NonNull Fragment fragment, @NonNull String title) { + fragmentList.add(fragment); + fragmentTitleList.add(title); + } + + @NonNull + @Override + public Fragment createFragment(int position) { + return fragmentList.get(position); + } + + @Override + public int getItemCount() { + return fragmentList.size(); + } + + CharSequence getPageTitle(int position) { + return fragmentTitleList.get(position); + } + } +} + diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabCodeFragment.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabCodeFragment.java new file mode 100644 index 00000000..83374bab --- /dev/null +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabCodeFragment.java @@ -0,0 +1,59 @@ +package com.d4rk.androidtutorials.java.ui.screens.android.lessons.data.room.tabs; + +import android.content.SharedPreferences; +import android.graphics.Typeface; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.preference.PreferenceManager; + +import com.d4rk.androidtutorials.java.R; +import com.d4rk.androidtutorials.java.databinding.FragmentCodeBinding; +import com.d4rk.androidtutorials.java.utils.CodeHighlighter; +import com.d4rk.androidtutorials.java.utils.CodeViewUtils; +import com.d4rk.androidtutorials.java.utils.FontManager; +import com.google.android.gms.ads.AdRequest; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import me.zhanghai.android.fastscroll.FastScrollerBuilder; + +/** + * Shows the Java implementation for the Room example. + */ +public class RoomTabCodeFragment extends Fragment { + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + FragmentCodeBinding binding = FragmentCodeBinding.inflate(inflater, container, false); + new FastScrollerBuilder(binding.scrollView).useMd2Style().build(); + binding.adView.loadAd(new AdRequest.Builder().build()); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(requireContext()); + Typeface monospaceFont = FontManager.getMonospaceFont(requireContext(), prefs); + CodeViewUtils.applyDefaults(monospaceFont, binding.codeView); + + StringBuilder builder = new StringBuilder(); + InputStream inputStream = getResources().openRawResource(R.raw.text_room_java); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + String line; + while ((line = reader.readLine()) != null) { + builder.append(line).append('\n'); + } + binding.codeView.setText(builder.toString()); + CodeHighlighter.applyJavaTheme(binding.codeView); + } catch (IOException e) { + Log.e("RoomTabCode", "Error reading code", e); + } + return binding.getRoot(); + } +} + diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabLayoutFragment.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabLayoutFragment.java new file mode 100644 index 00000000..fe2e70ea --- /dev/null +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/tabs/RoomTabLayoutFragment.java @@ -0,0 +1,59 @@ +package com.d4rk.androidtutorials.java.ui.screens.android.lessons.data.room.tabs; + +import android.content.SharedPreferences; +import android.graphics.Typeface; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.preference.PreferenceManager; + +import com.d4rk.androidtutorials.java.R; +import com.d4rk.androidtutorials.java.databinding.FragmentLayoutBinding; +import com.d4rk.androidtutorials.java.utils.CodeHighlighter; +import com.d4rk.androidtutorials.java.utils.CodeViewUtils; +import com.d4rk.androidtutorials.java.utils.FontManager; +import com.google.android.gms.ads.AdRequest; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import me.zhanghai.android.fastscroll.FastScrollerBuilder; + +/** + * Shows the XML layout for the Room example. + */ +public class RoomTabLayoutFragment extends Fragment { + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + FragmentLayoutBinding binding = FragmentLayoutBinding.inflate(inflater, container, false); + new FastScrollerBuilder(binding.scrollView).useMd2Style().build(); + binding.adView.loadAd(new AdRequest.Builder().build()); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(requireContext()); + Typeface monospaceFont = FontManager.getMonospaceFont(requireContext(), prefs); + CodeViewUtils.applyDefaults(monospaceFont, binding.codeView); + + StringBuilder builder = new StringBuilder(); + InputStream inputStream = getResources().openRawResource(R.raw.text_room_xml); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + String line; + while ((line = reader.readLine()) != null) { + builder.append(line).append('\n'); + } + binding.codeView.setText(builder.toString()); + CodeHighlighter.applyXmlTheme(binding.codeView); + } catch (IOException e) { + Log.e("RoomTabLayout", "Error reading layout", e); + } + return binding.getRoot(); + } +} + diff --git a/app/src/main/res/layout/activity_room.xml b/app/src/main/res/layout/activity_room.xml index f36ede11..eb9db59a 100644 --- a/app/src/main/res/layout/activity_room.xml +++ b/app/src/main/res/layout/activity_room.xml @@ -49,8 +49,23 @@ android:layout_width="0dp" android:layout_height="0dp" android:layout_marginTop="16dp" + android:layout_marginBottom="80dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/buttonAdd" /> + + diff --git a/app/src/main/res/raw/text_room_java.txt b/app/src/main/res/raw/text_room_java.txt new file mode 100644 index 00000000..7cb34bbc --- /dev/null +++ b/app/src/main/res/raw/text_room_java.txt @@ -0,0 +1,28 @@ +// Define a Note entity with auto-generated id +@Entity +public class Note { + @PrimaryKey(autoGenerate = true) + public int id; + public String text; +} + +// Data access object to insert and query notes +@Dao +public interface NoteDao { + @Insert + void insert(Note note); + + @Query("SELECT * FROM note") + List getAll(); +} + +// Database that holds the notes +@Database(entities = {Note.class}, version = 1, exportSchema = false) +public abstract class AppDatabase extends RoomDatabase { + public abstract NoteDao noteDao(); +} + +// Usage inside an Activity +AppDatabase db = Room.databaseBuilder(this, AppDatabase.class, "notes.db").build(); +db.noteDao().insert(new Note("Hello Room!")); + diff --git a/app/src/main/res/raw/text_room_xml.txt b/app/src/main/res/raw/text_room_xml.txt new file mode 100644 index 00000000..cdeca601 --- /dev/null +++ b/app/src/main/res/raw/text_room_xml.txt @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2af6b9a3..9afb24cb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -138,9 +138,9 @@ Predictive back gesture - Room database - Enter note - Add note + Room database + Enter note + Add note Layouts and views @@ -346,8 +346,8 @@ Permissions are important in Android as you can\'t do tasks, that require permissions, without requesting permissions. Learn how to use per-app languages to make your app more accessible and user-friendly. This feature lets you choose a different language for each app on your device, without the user changing their device language. Android 13 (API level 33) introduces a predictive back gesture for Android devices such as phones, large screens, and foldables. It is part of a multi-year release; when fully implemented, this feature will let users preview the destination or other result of a back gesture before fully completing it, allowing them to decide whether to continue or stay in the current view. - Persist simple notes using Room, an abstraction layer over SQLite. - Room is a persistence library that provides an object mapping layer on top of SQLite. This example shows how to save and display notes. + Persist simple notes using Room, an abstraction layer over SQLite. + Room is a persistence library that provides an object mapping layer on top of SQLite. This example shows how to save and display notes. A linear layout is a view group that arranges its children in a single, linear direction, either horizontally or vertically. The orientation of the layout can be specified using the android:orientation attribute. A linear layout can be used to create a variety of user interfaces, such as lists, buttons, and text fields. A relative layout is a layout manager in Android that positions its child views relative to each other or to the parent layout. This makes it a very versatile layout manager, as it can be used to create a wide variety of layouts. Table layout is the process of arranging the cells, rows, and columns of a table in a visually appealing and functional way. From 96e39cb04d22a7c19f9d8ca4980ddd49fe1aea27 Mon Sep 17 00:00:00 2001 From: Mihai-Cristian Condrea Date: Tue, 2 Sep 2025 12:11:20 +0300 Subject: [PATCH 3/5] Import correct FragmentStateAdapter --- .../ui/screens/android/lessons/data/room/RoomCodeActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java index 3988dad1..87d94bcb 100644 --- a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/data/room/RoomCodeActivity.java @@ -5,7 +5,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentStateAdapter; +import androidx.viewpager2.adapter.FragmentStateAdapter; import com.d4rk.androidtutorials.java.R; import com.d4rk.androidtutorials.java.databinding.ActivityTabLayoutBinding; From 4aa752ac77901925ec70dfde657b16c510f97108 Mon Sep 17 00:00:00 2001 From: Mihai-Cristian Condrea Date: Tue, 2 Sep 2025 12:11:27 +0300 Subject: [PATCH 4/5] localize room database lesson --- CHANGELOG.md | 1 + app/src/main/res/values-ar-rEG/strings.xml | 5 +++++ app/src/main/res/values-bg-rBG/strings.xml | 5 +++++ app/src/main/res/values-bn-rBD/strings.xml | 5 +++++ app/src/main/res/values-de-rDE/strings.xml | 5 +++++ app/src/main/res/values-es-rGQ/strings.xml | 5 +++++ app/src/main/res/values-es-rMX/strings.xml | 5 +++++ app/src/main/res/values-fil-rPH/strings.xml | 5 +++++ app/src/main/res/values-fr-rFR/strings.xml | 5 +++++ app/src/main/res/values-hi-rIN/strings.xml | 5 +++++ app/src/main/res/values-hu-rHU/strings.xml | 5 +++++ app/src/main/res/values-in-rID/strings.xml | 5 +++++ app/src/main/res/values-it-rIT/strings.xml | 5 +++++ app/src/main/res/values-ja-rJP/strings.xml | 5 +++++ app/src/main/res/values-ko-rKR/strings.xml | 5 +++++ app/src/main/res/values-pl-rPL/strings.xml | 5 +++++ app/src/main/res/values-pt-rBR/strings.xml | 5 +++++ app/src/main/res/values-ro-rRO/strings.xml | 5 +++++ app/src/main/res/values-ru-rRU/strings.xml | 5 +++++ app/src/main/res/values-sv-rSE/strings.xml | 5 +++++ app/src/main/res/values-th-rTH/strings.xml | 5 +++++ app/src/main/res/values-tr-rTR/strings.xml | 5 +++++ app/src/main/res/values-uk-rUA/strings.xml | 5 +++++ app/src/main/res/values-ur-rPK/strings.xml | 5 +++++ app/src/main/res/values-vi-rVN/strings.xml | 5 +++++ app/src/main/res/values-zh-rTW/strings.xml | 5 +++++ app/src/main/res/values/strings.xml | 10 +++++----- 27 files changed, 131 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd719abd..470f65cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - **Minor**: Added a search function for lessons. - **Patch**: Optimized app performance for smoother operation. - **Patch**: Updated several components to improve compatibility. +- **New**: Added a Room database lesson demonstrating entity, DAO, and code viewer integration. # Version 5.0.1: diff --git a/app/src/main/res/values-ar-rEG/strings.xml b/app/src/main/res/values-ar-rEG/strings.xml index 6f27e7ed..03e0cee5 100644 --- a/app/src/main/res/values-ar-rEG/strings.xml +++ b/app/src/main/res/values-ar-rEG/strings.xml @@ -125,6 +125,9 @@ المزيد عن الأذونات تفضيلات اللغة لكل تطبيق إيماءة الرجوع التنبؤية + قاعدة بيانات Room + أدخل ملاحظة + أضف ملاحظة Layouts and views تخطيط خطي (Linear Layout) رأسي @@ -318,6 +321,8 @@ الأذونات مهمة في أندرويد لأنك متقدرش تعمل مهام بتحتاج لأذونات من غير ما تطلبها. اتعلم إزاي تستخدم اللغات لكل تطبيق عشان تخلي تطبيقك أكتر سهولة في الوصول والاستخدام. الميزة دي بتخليك تختار لغة مختلفة لكل تطبيق على جهازك، من غير ما المستخدم يغير لغة جهازه. أندرويد 13 (API level 33) بيقدم إيماءة رجوع تنبؤية لأجهزة أندرويد زي الموبايلات، والشاشات الكبيرة، والأجهزة القابلة للطي. دي جزء من إصدار على مدار سنين؛ ولما يتم تنفيذها بالكامل، الميزة دي هتخلي المستخدمين يشوفوا معاينة للوجهة أو نتيجة تانية لإيماءة الرجوع قبل ما يكملوها تمامًا، وده يسمحلهم يقرروا إذا كانوا هيكملوا أو هيفضلوا في الواجهة الحالية. + خزّن ملاحظات بسيطة باستخدام Room، وهي طبقة تجريدية فوق SQLite. + Room هي مكتبة حفظ توفر طبقة ربط كائنات فوق SQLite. يوضح هذا المثال كيفية حفظ الملاحظات وعرضها. التخطيط الخطي (Linear layout) هو مجموعة عرض بترتب عناصرها الفرعية في اتجاه خطي واحد، إما أفقي أو رأسي. يمكن تحديد اتجاه التخطيط باستخدام السمة android:orientation. يمكن استخدام التخطيط الخطي لإنشاء مجموعة متنوعة من واجهات المستخدم، زي القوائم والأزرار وحقول النص. التخطيط النسبي (Relative layout) هو مدير تخطيط في أندرويد بيحدد موضع العناصر الفرعية بالنسبة لبعضها البعض أو بالنسبة للتخطيط الأب. ده بيخليه مدير تخطيط متعدد الاستخدامات جدًا، لأنه ممكن يستخدم لإنشاء مجموعة واسعة من التخطيطات. تخطيط الجدول هو عملية ترتيب الخلايا والصفوف والأعمدة في جدول بطريقة جذابة بصريًا وعملية. diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index ac9cdd4f..993670dd 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -125,6 +125,9 @@ Повече за разрешенията Езикови предпочитания за всяко приложение Предсказуем жест за връщане назад + Room база данни + Въведете бележка + Добавете бележка Layouts and views Линейно оформление (Linear Layout) Вертикално @@ -309,6 +312,8 @@ Разрешенията са важни в Android, тъй като не можете да изпълнявате задачи, които изискват разрешения, без да ги поискате. Научете как да използвате езици за всяко приложение, за да направите приложението си по-достъпно и удобно за потребителя. Тази функция ви позволява да изберете различен език за всяко приложение на вашето устройство, без потребителят да променя езика на устройството си. Android 13 (API ниво 33) въвежда предсказуем жест за връщане назад за Android устройства като телефони, големи екрани и сгъваеми устройства. Това е част от многогодишно издание; когато бъде напълно внедрена, тази функция ще позволи на потребителите да прегледат дестинацията или друг резултат от жеста за връщане назад, преди напълно да го завършат, което им позволява да решат дали да продължат или да останат в текущия изглед. + Запазвайте прости бележки с Room, абстракционен слой над SQLite. + Room е библиотека за персистентност, която предоставя слой за обектно картографиране върху SQLite. Този пример показва как да се запазват и показват бележки. Линейното оформление е група изгледи, която подрежда своите дъщерни елементи в една, линейна посока, хоризонтално или вертикално. Ориентацията на оформлението може да бъде указана с помощта на атрибута android:orientation. Линейното оформление може да се използва за създаване на разнообразни потребителски интерфейси, като списъци, бутони и текстови полета. Относителното оформление е мениджър на оформления в Android, който позиционира своите дъщерни изгледи спрямо един друг или спрямо родителското оформление. Това го прави много универсален мениджър на оформления, тъй като може да се използва за създаване на голямо разнообразие от оформления. Табличното оформление е процесът на подреждане на клетките, редовете и колоните на таблица по визуално привлекателен и функционален начин. diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index 47786c07..44e5146f 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -125,6 +125,9 @@ অনুমতি সম্পর্কে আরও প্রতি-অ্যাপ ভাষা পছন্দ ভবিষ্যদ্বাণীমূলক ব্যাক অঙ্গভঙ্গি + Room ডাটাবেস + নোট লিখুন + নোট যোগ করুন Layouts and views লিনিয়ার লেআউট উল্লম্ব @@ -309,6 +312,8 @@ অ্যান্ড্রয়েডে অনুমতিগুলি গুরুত্বপূর্ণ কারণ আপনি অনুমতিগুলির জন্য অনুরোধ না করে অনুমতিগুলির প্রয়োজন এমন কাজগুলি করতে পারবেন না। আপনার অ্যাপটিকে আরও অ্যাক্সেসযোগ্য এবং ব্যবহারকারী-বান্ধব করতে কীভাবে প্রতি-অ্যাপ ভাষা ব্যবহার করতে হয় তা শিখুন। এই বৈশিষ্ট্যটি আপনাকে আপনার ডিভাইসের প্রতিটি অ্যাপের জন্য একটি ভিন্ন ভাষা চয়ন করতে দেয়, ব্যবহারকারীকে তাদের ডিভাইসের ভাষা পরিবর্তন না করেই। অ্যান্ড্রয়েড ১৩ (API স্তর ৩৩) ফোন, বড় পর্দা এবং ভাঁজযোগ্য ডিভাইসের মতো অ্যান্ড্রয়েড ডিভাইসগুলির জন্য একটি ভবিষ্যদ্বাণীমূলক ব্যাক অঙ্গভঙ্গি প্রবর্তন করে। এটি একটি বহু-বছরের রিলিজের অংশ; সম্পূর্ণরূপে বাস্তবায়িত হলে, এই বৈশিষ্ট্যটি ব্যবহারকারীদের একটি ব্যাক অঙ্গভঙ্গির গন্তব্য বা অন্যান্য ফলাফল সম্পূর্ণরূপে সম্পন্ন করার আগে তার পূর্বরূপ দেখতে দেবে, যা তাদের সিদ্ধান্ত নিতে দেবে যে চালিয়ে যেতে হবে নাকি বর্তমান ভিউতে থাকতে হবে। + SQLite-এর উপর একটি বিমূর্ত স্তর Room ব্যবহার করে সাধারণ নোট স্থায়ী করুন। + Room একটি পার্সিস্টেন্স লাইব্রেরি যা SQLite-এর উপর অবজেক্ট ম্যাপিং স্তর প্রদান করে। এই উদাহরণটি কীভাবে নোট সংরক্ষণ ও প্রদর্শন করতে হয় তা দেখায়। একটি লিনিয়ার লেআউট হল একটি ভিউ গ্রুপ যা তার চাইল্ডগুলিকে একটি একক, রৈখিক দিকে, হয় অনুভূমিকভাবে বা উল্লম্বভাবে সাজায়। লেআউটের ওরিয়েন্টেশন android:orientation অ্যাট্রিবিউট ব্যবহার করে নির্দিষ্ট করা যেতে পারে। একটি লিনিয়ার লেআউট বিভিন্ন ব্যবহারকারী ইন্টারফেস তৈরি করতে ব্যবহার করা যেতে পারে, যেমন তালিকা, বোতাম এবং টেক্সট ফিল্ড। একটি রিলেটিভ লেআউট হল অ্যান্ড্রয়েডের একটি লেআউট ম্যানেজার যা তার চাইল্ড ভিউগুলিকে একে অপরের বা প্যারেন্ট লেআউটের সাপেক্ষে অবস্থান করে। এটি এটিকে একটি খুব বহুমুখী লেআউট ম্যানেজার করে তোলে, কারণ এটি বিভিন্ন ধরণের লেআউট তৈরি করতে ব্যবহার করা যেতে পারে। টেবিল লেআউট হল একটি টেবিলের সেল, সারি এবং কলামগুলিকে দৃশ্যত আকর্ষণীয় এবং কার্যকরী উপায়ে সাজানোর প্রক্রিয়া। diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index f1dad888..60ff4ceb 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -125,6 +125,9 @@ Mehr über Berechtigungen Spracheinstellungen pro App Vorhersagende Zurück-Geste + Room-Datenbank + Notiz eingeben + Notiz hinzufügen Layouts and views Lineares Layout Vertikal @@ -309,6 +312,8 @@ Berechtigungen sind in Android wichtig, da Sie Aufgaben, die Berechtigungen erfordern, nicht ausführen können, ohne diese anzufordern. Lernen Sie, wie Sie Sprachen pro App verwenden, um Ihre App zugänglicher und benutzerfreundlicher zu gestalten. Mit dieser Funktion können Sie für jede App auf Ihrem Gerät eine andere Sprache auswählen, ohne dass der Benutzer die Sprache seines Geräts ändern muss. Android 13 (API-Level 33) führt eine vorhersagende Zurück-Geste für Android-Geräte wie Telefone, große Bildschirme und faltbare Geräte ein. Es ist Teil einer mehrjährigen Veröffentlichung; bei vollständiger Implementierung ermöglicht diese Funktion den Benutzern, das Ziel oder ein anderes Ergebnis einer Zurück-Geste vorab anzuzeigen, bevor sie diese vollständig ausführen, sodass sie entscheiden können, ob sie fortfahren oder in der aktuellen Ansicht bleiben möchten. + Speichere einfache Notizen mit Room, einer Abstraktionsschicht über SQLite. + Room ist eine Persistenzbibliothek, die eine Objektabbildungsschicht über SQLite bereitstellt. Dieses Beispiel zeigt, wie man Notizen speichert und anzeigt. Ein lineares Layout ist eine Ansichtsgruppe, die ihre untergeordneten Elemente in einer einzigen, linearen Richtung anordnet, entweder horizontal oder vertikal. Die Ausrichtung des Layouts kann mit dem Attribut android:orientation angegeben werden. Ein lineares Layout kann verwendet werden, um eine Vielzahl von Benutzeroberflächen zu erstellen, wie z. B. Listen, Schaltflächen und Textfelder. Ein relatives Layout ist ein Layout-Manager in Android, der seine untergeordneten Ansichten relativ zueinander oder zum übergeordneten Layout positioniert. Dies macht es zu einem sehr vielseitigen Layout-Manager, da es zur Erstellung einer Vielzahl von Layouts verwendet werden kann. Tabellenlayout ist der Prozess des Anordnens der Zellen, Zeilen und Spalten einer Tabelle auf eine visuell ansprechende und funktionale Weise. diff --git a/app/src/main/res/values-es-rGQ/strings.xml b/app/src/main/res/values-es-rGQ/strings.xml index b168d514..01cd1170 100644 --- a/app/src/main/res/values-es-rGQ/strings.xml +++ b/app/src/main/res/values-es-rGQ/strings.xml @@ -125,6 +125,9 @@ Más sobre los permisos Preferencias de idioma por aplicación Gesto de retroceso predictivo + Base de datos Room + Introducir nota + Agregar nota Layouts and views LinearLayout Vertical @@ -309,6 +312,8 @@ Los permisos son importantes en Android ya que no puedes realizar tareas que requieran permisos sin solicitarlos. Aprende a usar idiomas por aplicación para hacer tu aplicación más accesible y fácil de usar. Esta función te permite elegir un idioma diferente para cada aplicación en tu dispositivo, sin que el usuario cambie el idioma de su dispositivo. Android 13 (nivel de API 33) introduce un gesto de retroceso predictivo para dispositivos Android como teléfonos, pantallas grandes y plegables. Es parte de un lanzamiento de varios años; cuando esté completamente implementado, esta función permitirá a los usuarios previsualizar el destino u otro resultado de un gesto de retroceso antes de completarlo por completo, permitiéndoles decidir si continuar o permanecer en la vista actual. + Conserva notas simples usando Room, una capa de abstracción sobre SQLite. + Room es una biblioteca de persistencia que proporciona una capa de mapeo de objetos sobre SQLite. Este ejemplo muestra cómo guardar y mostrar notas. Un LinearLayout es un grupo de vistas que organiza a sus hijos en una única dirección lineal, ya sea horizontal o verticalmente. La orientación del diseño se puede especificar usando el atributo android:orientation. Un LinearLayout se puede usar para crear una variedad de interfaces de usuario, como listas, botones y campos de texto. Un RelativeLayout es un gestor de diseño en Android que posiciona sus vistas secundarias en relación entre sí o con el diseño principal. Esto lo convierte en un gestor de diseño muy versátil, ya que se puede utilizar para crear una amplia variedad de diseños. El diseño de tabla es el proceso de organizar las celdas, filas y columnas de una tabla de una manera visualmente atractiva y funcional. diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index e7811683..adf5a4e1 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -125,6 +125,9 @@ Más sobre permisos Preferencias de idioma por app Gesto de retroceso predictivo + Base de datos Room + Introducir nota + Agregar nota Layouts and views Diseño Lineal Vertical @@ -318,6 +321,8 @@ Los permisos son importantes en Android, ya que no puedes realizar tareas que los requieran sin solicitarlos. Aprende a usar los idiomas por app para hacer tu aplicación más accesible y fácil de usar. Esta función te permite elegir un idioma diferente para cada app en tu dispositivo, sin que el usuario cambie el idioma de su dispositivo. Android 13 (nivel de API 33) introduce un gesto de retroceso predictivo para dispositivos Android como teléfonos, pantallas grandes y plegables. Es parte de un lanzamiento de varios años; cuando esté completamente implementado, esta función permitirá a los usuarios previsualizar el destino u otro resultado de un gesto de retroceso antes de completarlo por completo, permitiéndoles decidir si continuar o quedarse en la vista actual. + Conserva notas simples usando Room, una capa de abstracción sobre SQLite. + Room es una biblioteca de persistencia que proporciona una capa de mapeo de objetos sobre SQLite. Este ejemplo muestra cómo guardar y mostrar notas. Un diseño lineal es un grupo de vistas que organiza a sus hijos en una única dirección lineal, ya sea horizontal o vertical. La orientación del diseño se puede especificar usando el atributo android:orientation. Se puede usar un diseño lineal para crear una variedad de interfaces de usuario, como listas, botones y campos de texto. Un diseño relativo es un administrador de diseño en Android que posiciona sus vistas secundarias en relación entre sí o con el diseño principal. Esto lo convierte en un administrador de diseño muy versátil, ya que se puede utilizar para crear una amplia variedad de diseños. El diseño de tabla es el proceso de organizar las celdas, filas y columnas de una tabla de una manera visualmente atractiva y funcional. diff --git a/app/src/main/res/values-fil-rPH/strings.xml b/app/src/main/res/values-fil-rPH/strings.xml index e1e43719..5132c730 100644 --- a/app/src/main/res/values-fil-rPH/strings.xml +++ b/app/src/main/res/values-fil-rPH/strings.xml @@ -125,6 +125,9 @@ Higit pa tungkol sa mga pahintulot Mga kagustuhan sa wika bawat app Predictive back gesture + Database ng Room + Maglagay ng tala + Magdagdag ng tala Layouts and views Linear Layout Patayo @@ -318,6 +321,8 @@ Mahalaga ang mga pahintulot sa Android dahil hindi ka makakagawa ng mga gawain na nangangailangan ng mga pahintulot, nang hindi humihingi ng mga pahintulot. Alamin kung paano gamitin ang mga wika bawat app para gawing mas accessible at user-friendly ang iyong app. Hinahayaan ka ng feature na ito na pumili ng ibang wika para sa bawat app sa iyong device, nang hindi binabago ng user ang wika ng kanilang device. Ipinapakilala ng Android 13 (API level 33) ang isang predictive back gesture para sa mga Android device tulad ng mga telepono, malalaking screen, at mga foldable. Bahagi ito ng isang multi-year release; kapag ganap na naipatupad, hahayaan ng feature na ito ang mga user na i-preview ang destinasyon o iba pang resulta ng isang back gesture bago ito tuluyang kumpletuhin, na nagpapahintulot sa kanila na magpasya kung magpapatuloy o mananatili sa kasalukuyang view. + Panatilihin ang simpleng mga tala gamit ang Room, isang abstraction layer sa ibabaw ng SQLite. + Ang Room ay isang persistence library na nagbibigay ng object mapping layer sa ibabaw ng SQLite. Ipinapakita ng halimbawang ito kung paano mag-save at magpakita ng mga tala. Ang isang linear layout ay isang view group na nag-aayos ng mga anak nito sa iisang, linear na direksyon, alinman sa pahalang o patayo. Ang oryentasyon ng layout ay maaaring tukuyin gamit ang android:orientation attribute. Maaaring gamitin ang isang linear layout para gumawa ng iba\'t ibang user interface, tulad ng mga listahan, button, at text field. Ang isang relative layout ay isang layout manager sa Android na nagpoposisyon sa mga child view nito na may kaugnayan sa isa\'t isa o sa parent layout. Ginagawa nitong isang napaka-versatile na layout manager, dahil maaari itong gamitin para gumawa ng malawak na iba\'t ibang mga layout. Ang table layout ay ang proseso ng pag-aayos ng mga cell, row, at column ng isang table sa isang paraan na kaakit-akit sa paningin at gumagana. diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 99db1dae..d2189439 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -125,6 +125,9 @@ En savoir plus sur les permissions Préférences linguistiques par application Geste de retour prédictif + Base de données Room + Saisir une note + Ajouter une note Layouts and views LinearLayout Vertical @@ -309,6 +312,8 @@ Les permissions sont importantes dans Android car vous ne pouvez pas effectuer de tâches nécessitant des permissions sans les demander. Apprenez à utiliser les langues par application pour rendre votre application plus accessible et conviviale. Cette fonctionnalité vous permet de choisir une langue différente pour chaque application sur votre appareil, sans que l\'utilisateur ne change la langue de son appareil. Android 13 (niveau d\'API 33) introduit un geste de retour prédictif pour les appareils Android tels que les téléphones, les grands écrans et les appareils pliables. Il fait partie d\'une version pluriannuelle ; une fois pleinement implémentée, cette fonctionnalité permettra aux utilisateurs de prévisualiser la destination ou un autre résultat d\'un geste de retour avant de le compléter entièrement, leur permettant de décider s\'ils souhaitent continuer ou rester dans la vue actuelle. + Conservez des notes simples avec Room, une couche d’abstraction au-dessus de SQLite. + Room est une bibliothèque de persistance qui fournit une couche de mapping objet au-dessus de SQLite. Cet exemple montre comment enregistrer et afficher des notes. Un LinearLayout est un groupe de vues qui organise ses enfants dans une seule direction linéaire, horizontalement ou verticalement. L\'orientation de la mise en page peut être spécifiée à l\'aide de l\'attribut android:orientation. Un LinearLayout peut être utilisé pour créer une variété d\'interfaces utilisateur, telles que des listes, des boutons et des champs de texte. Un RelativeLayout est un gestionnaire de mise en page dans Android qui positionne ses vues enfants les unes par rapport aux autres ou par rapport à la mise en page parente. Cela en fait un gestionnaire de mise en page très polyvalent, car il peut être utilisé pour créer une grande variété de mises en page. La mise en page de tableau est le processus d\'organisation des cellules, des lignes et des colonnes d\'un tableau de manière visuellement attrayante et fonctionnelle. diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index a2aca9fe..c52a3627 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -133,6 +133,9 @@ अनुमति के बारे में और जानें प्रति-ऐप भाषा प्राथमिकताएं भविष्यवाणी करने वाली बैक जेस्चर + Room डेटाबेस + नोट दर्ज करें + नोट जोड़ें Layouts and views लीनियर लेआउट ऊर्ध्वाधर @@ -319,6 +322,8 @@ Android में अनुमतियां महत्वपूर्ण हैं क्योंकि आप अनुमतियों का अनुरोध किए बिना, उन कार्यों को नहीं कर सकते हैं जिनके लिए अनुमतियों की आवश्यकता होती है। सीखें कि अपने ऐप को अधिक सुलभ और उपयोगकर्ता के अनुकूल बनाने के लिए प्रति-ऐप भाषाओं का उपयोग कैसे करें। यह सुविधा आपको अपने डिवाइस पर प्रत्येक ऐप के लिए एक अलग भाषा चुनने देती है, बिना उपयोगकर्ता के अपनी डिवाइस भाषा बदले। Android 13 (API स्तर 33) Android उपकरणों जैसे फोन, बड़ी स्क्रीन और फोल्डेबल के लिए एक भविष्यवाणी करने वाली बैक जेस्चर पेश करता है। यह कई वर्षों की रिलीज़ का हिस्सा है; जब पूरी तरह से लागू हो जाएगा, तो यह सुविधा उपयोगकर्ताओं को एक बैक जेस्चर को पूरी तरह से पूरा करने से पहले गंतव्य या अन्य परिणाम का पूर्वावलोकन करने देगी, जिससे उन्हें यह तय करने की अनुमति मिलेगी कि जारी रखना है या वर्तमान दृश्य में रहना है। + SQLite के ऊपर एक abstraction layer Room का उपयोग करके सरल नोट सुरक्षित रखें। + Room एक persistence लाइब्रेरी है जो SQLite के ऊपर object mapping layer प्रदान करती है। यह उदाहरण दिखाता है कि नोट्स कैसे सहेजें और प्रदर्शित करें। एक लीनियर लेआउट एक व्यू ग्रुप है जो अपने बच्चों को एक ही, रैखिक दिशा में, या तो क्षैतिज या ऊर्ध्वाधर रूप से व्यवस्थित करता है। लेआउट का ओरिएंटेशन android:orientation विशेषता का उपयोग करके निर्दिष्ट किया जा सकता है। एक लीनियर लेआउट का उपयोग विभिन्न प्रकार के उपयोगकर्ता इंटरफ़ेस बनाने के लिए किया जा सकता है, जैसे सूचियां, बटन और टेक्स्ट फ़ील्ड। एक रिलेटिव लेआउट Android में एक लेआउट मैनेजर है जो अपने चाइल्ड व्यू को एक दूसरे के सापेक्ष या पैरेंट लेआउट के सापेक्ष रखता है। यह इसे एक बहुत ही बहुमुखी लेआउट मैनेजर बनाता है, क्योंकि इसका उपयोग विभिन्न प्रकार के लेआउट बनाने के लिए किया जा सकता है। टेबल लेआउट एक तालिका की कोशिकाओं, पंक्तियों और कॉलम को एक दृश्य रूप से आकर्षक और कार्यात्मक तरीके से व्यवस्थित करने की प्रक्रिया है। diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index d7b9f159..199dd8d6 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -11,4 +11,9 @@ Képernyőkép a projekt beállításakor az aktivitástípus választásáról. Képernyőkép az alkalmazás neve, csomagja, nyelve és minimum SDK mezőiről. Mutasd meg a java kódrészletet + Room adatbázis + Jegyzet bevitele + Jegyzet hozzáadása + Egyszerű jegyzetek tárolása a Room használatával, amely egy absztrakciós réteg a SQLite felett. + A Room egy perzisztencia könyvtár, amely objektumtérképezési réteget biztosít a SQLite felett. Ez a példa megmutatja, hogyan lehet jegyzeteket menteni és megjeleníteni. diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml index 98d3ebd3..49c4804d 100644 --- a/app/src/main/res/values-in-rID/strings.xml +++ b/app/src/main/res/values-in-rID/strings.xml @@ -133,6 +133,9 @@ Selengkapnya tentang izin Preferensi bahasa per aplikasi Gerakan kembali prediktif + Basis data Room + Masukkan catatan + Tambahkan catatan Layouts and views Tata Letak Linear Vertikal @@ -319,6 +322,8 @@ Izin penting di Android karena Anda tidak dapat melakukan tugas yang memerlukan izin tanpa meminta izin. Pelajari cara menggunakan bahasa per aplikasi untuk membuat aplikasi Anda lebih mudah diakses dan ramah pengguna. Fitur ini memungkinkan Anda memilih bahasa yang berbeda untuk setiap aplikasi di perangkat Anda, tanpa pengguna harus mengubah bahasa perangkat mereka. Android 13 (level API 33) memperkenalkan gerakan kembali prediktif untuk perangkat Android seperti ponsel, layar besar, dan perangkat lipat. Ini adalah bagian dari rilis multi-tahun; ketika sepenuhnya diterapkan, fitur ini akan memungkinkan pengguna untuk melihat pratinjau tujuan atau hasil lain dari gerakan kembali sebelum menyelesaikannya sepenuhnya, memungkinkan mereka untuk memutuskan apakah akan melanjutkan atau tetap berada di tampilan saat ini. + Simpan catatan sederhana menggunakan Room, lapisan abstraksi di atas SQLite. + Room adalah pustaka penyimpanan yang menyediakan lapisan pemetaan objek di atas SQLite. Contoh ini menunjukkan cara menyimpan dan menampilkan catatan. Tata letak linear adalah grup tampilan yang mengatur turunannya dalam satu arah, baik secara horizontal maupun vertikal. Orientasi tata letak dapat ditentukan menggunakan atribut android:orientation. Tata letak linear dapat digunakan untuk membuat berbagai antarmuka pengguna, seperti daftar, tombol, dan bidang teks. Tata letak relatif adalah manajer tata letak di Android yang menempatkan tampilan turunannya relatif satu sama lain atau ke tata letak induk. Ini menjadikannya manajer tata letak yang sangat serbaguna, karena dapat digunakan untuk membuat berbagai macam tata letak. Tata letak tabel adalah proses pengaturan sel, baris, dan kolom tabel dengan cara yang menarik secara visual dan fungsional. diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 91ff5e82..7fcb5cf3 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -11,4 +11,9 @@ Screenshot che mostra la selezione del tipo di attività durante la configurazione del progetto. Screenshot che mostra i campi nome app, pacchetto, lingua e SDK minimo. Mostra snippet di codice Java + Database Room + Inserisci nota + Aggiungi nota + Mantieni semplici note utilizzando Room, un livello di astrazione sopra SQLite. + Room è una libreria di persistenza che fornisce un livello di mapping degli oggetti sopra SQLite. Questo esempio mostra come salvare e visualizzare note. diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 2b59668c..9ae76c54 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -11,4 +11,9 @@ プロジェクト設定中のアクティビティタイプ選択を示すスクリーンショット。 アプリ名、パッケージ、言語、最小 SDK の入力欄を示すスクリーンショット。 Javaコードスニペットを表示します + Room データベース + メモを入力 + メモを追加 + SQLite の上にある抽象化レイヤーである Room を使用して簡単なメモを保持します。 + Room は SQLite 上にオブジェクトマッピングレイヤーを提供する永続化ライブラリです。この例ではメモを保存して表示する方法を示します。 diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 80d56707..9d146618 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -125,6 +125,9 @@ 권한에 대해 더 알아보기 앱별 언어 설정 예측 뒤로가기 제스처 + Room 데이터베이스 + 메모 입력 + 메모 추가 Layouts and views 리니어 레이아웃 (Linear Layout) 수직 @@ -318,6 +321,8 @@ 권한이 필요한 작업을 수행하려면 권한을 요청해야 하므로 Android에서는 권한이 중요합니다. 앱별 언어를 사용하여 앱을 더 접근성 있고 사용자 친화적으로 만드는 방법을 배워보세요. 이 기능을 사용하면 사용자가 기기 언어를 변경하지 않고도 기기의 각 앱에 대해 다른 언어를 선택할 수 있습니다. Android 13(API 레벨 33)은 휴대폰, 대형 화면, 폴더블과 같은 Android 기기를 위한 예측 뒤로가기 제스처를 도입합니다. 이는 다년간에 걸친 출시의 일부이며, 완전히 구현되면 이 기능을 통해 사용자는 뒤로가기 제스처의 대상이나 다른 결과를 완전히 완료하기 전에 미리 볼 수 있어 계속할지 현재 뷰에 머물지 결정할 수 있습니다. + SQLite 위에 추상화 계층인 Room을 사용하여 간단한 메모를 저장하세요. + Room은 SQLite 위에 객체 매핑 계층을 제공하는 퍼시스턴스 라이브러리입니다. 이 예제는 메모를 저장하고 표시하는 방법을 보여줍니다. 리니어 레이아웃은 자식들을 단일 선형 방향(수평 또는 수직)으로 배열하는 뷰 그룹입니다. 레이아웃의 방향은 android:orientation 속성을 사용하여 지정할 수 있습니다. 리니어 레이아웃은 목록, 버튼, 텍스트 필드 등 다양한 사용자 인터페이스를 만드는 데 사용할 수 있습니다. 렐러티브 레이아웃은 자식 뷰를 서로 또는 부모 레이아웃에 상대적으로 배치하는 Android의 레이아웃 관리자입니다. 이는 다양한 레이아웃을 만드는 데 사용할 수 있으므로 매우 다재다능한 레이아웃 관리자입니다. 테이블 레이아웃은 테이블의 셀, 행, 열을 시각적으로 매력적이고 기능적인 방식으로 배열하는 과정입니다. diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 81677a9d..f97e9793 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -11,4 +11,9 @@ Zrzut ekranu pokazujący wybór typu aktywności podczas konfiguracji projektu. Zrzut ekranu pokazujący pola nazwy aplikacji, pakietu, języka i minimalnego SDK. Pokaż fragment kodu Java + Baza danych Room + Wpisz notatkę + Dodaj notatkę + Przechowuj proste notatki za pomocą Room, warstwy abstrakcji nad SQLite. + Room to biblioteka trwałości, która zapewnia warstwę mapowania obiektów na SQLite. Ten przykład pokazuje, jak zapisywać i wyświetlać notatki. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 220374e8..8494af4d 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -125,6 +125,9 @@ Mais sobre permissões Preferências de idioma por aplicativo Gesto de volta preditivo + Banco de dados Room + Inserir nota + Adicionar nota Layouts and views Layout Linear Vertical @@ -318,6 +321,8 @@ As permissões são importantes no Android, pois você não pode realizar tarefas que exigem permissões sem solicitá-las. Aprenda a usar idiomas por aplicativo para tornar seu aplicativo mais acessível e amigável. Este recurso permite que você escolha um idioma diferente para cada aplicativo em seu dispositivo, sem que o usuário altere o idioma do dispositivo. O Android 13 (nível de API 33) introduz um gesto de volta preditivo para dispositivos Android, como telefones, telas grandes e dobráveis. Faz parte de um lançamento de vários anos; quando totalmente implementado, este recurso permitirá que os usuários visualizem o destino ou outro resultado de um gesto de volta antes de concluí-lo totalmente, permitindo que decidam se devem continuar ou permanecer na visualização atual. + Persista notas simples usando o Room, uma camada de abstração sobre o SQLite. + O Room é uma biblioteca de persistência que fornece uma camada de mapeamento de objetos sobre o SQLite. Este exemplo mostra como salvar e exibir notas. Um layout linear é um grupo de visualizações que organiza seus filhos em uma única direção linear, seja horizontal ou verticalmente. A orientação do layout pode ser especificada usando o atributo android:orientation. Um layout linear pode ser usado para criar uma variedade de interfaces de usuário, como listas, botões e campos de texto. Um layout relativo é um gerenciador de layout no Android que posiciona suas visualizações filhas em relação umas às outras ou ao layout pai. Isso o torna um gerenciador de layout muito versátil, pois pode ser usado para criar uma ampla variedade de layouts. O layout de tabela é o processo de organizar as células, linhas e colunas de uma tabela de uma forma visualmente atraente e funcional. diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 8cead00e..9f74de50 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -133,6 +133,9 @@ Mai multe despre permisiuni Preferințe de limbă per aplicație Gest de revenire predictiv + Baza de date Room + Introduceți notă + Adăugați notă Layouts and views Aranjament liniar Vertical @@ -319,6 +322,8 @@ Permisiunile sunt importante în Android, deoarece nu puteți efectua sarcini care necesită permisiuni, fără a le solicita. Aflați cum să utilizați limbile per aplicație pentru a vă face aplicația mai accesibilă și mai ușor de utilizat. Această funcție vă permite să alegeți o limbă diferită pentru fiecare aplicație de pe dispozitivul dvs., fără ca utilizatorul să-și schimbe limba dispozitivului. Android 13 (nivel API 33) introduce un gest de revenire predictiv pentru dispozitivele Android, cum ar fi telefoanele, ecranele mari și dispozitivele pliabile. Face parte dintr-o lansare multi-anuală; odată implementată complet, această funcționalitate va permite utilizatorilor să previzualizeze destinația sau alt rezultat al unui gest de revenire înainte de a-l finaliza complet, permițându-le să decidă dacă să continue sau să rămână în vizualizarea curentă. + Păstrează note simple folosind Room, un strat de abstractizare peste SQLite. + Room este o bibliotecă de persistență care oferă un strat de mapare a obiectelor peste SQLite. Acest exemplu arată cum să salvezi și să afișezi note. Un aspect liniar este un grup de vizualizări care își aranjează copiii într-o singură direcție liniară, fie orizontal, fie vertical. Orientarea aspectului poate fi specificată utilizând atributul android:orientation. Un aspect liniar poate fi utilizat pentru a crea o varietate de interfețe de utilizator, cum ar fi liste, butoane și câmpuri de text. Un aspect relativ este un manager de aspect în Android care își poziționează vizualizările copilului una față de cealaltă sau față de aspectul părinte. Acest lucru îl face un manager de aspect foarte versatil, deoarece poate fi utilizat pentru a crea o mare varietate de aspecte. Aranjamentul tabelului este procesul de aranjare a celulelor, rândurilor și coloanelor unui tabel într-un mod vizual atrăgător și funcțional. diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index ef085f48..cbff4ac8 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -133,6 +133,9 @@ Подробнее о разрешениях Языковые настройки для каждого приложения Предиктивный жест «Назад» + База данных Room + Введите заметку + Добавить заметку Layouts and views Линейный макет Вертикальный @@ -319,6 +322,8 @@ Разрешения важны в Android, так как вы не можете выполнять задачи, требующие разрешений, без запроса разрешений. Узнайте, как использовать языки для каждого приложения, чтобы сделать ваше приложение более доступным и удобным для пользователя. Эта функция позволяет вам выбрать другой язык для каждого приложения на вашем устройстве, без необходимости изменения пользователем языка устройства. Android 13 (уровень API 33) представляет предиктивный жест "назад" для Android-устройств, таких как телефоны, большие экраны и складные устройства. Это часть многолетнего выпуска; при полной реализации эта функция позволит пользователям предварительно просмотреть назначение или другой результат жеста "назад" до его полного завершения, что позволит им решить, продолжать или оставаться в текущем представлении. + Сохраняйте простые заметки с помощью Room — слоя абстракции над SQLite. + Room — это библиотека персистентности, которая предоставляет слой отображения объектов поверх SQLite. Этот пример показывает, как сохранять и отображать заметки. Линейный макет — это группа представлений, которая располагает свои дочерние элементы в одном линейном направлении, либо горизонтально, либо вертикально. Ориентация макета может быть указана с помощью атрибута android:orientation. Линейный макет может использоваться для создания различных пользовательских интерфейсов, таких как списки, кнопки и текстовые поля. Относительный макет — это менеджер макетов в Android, который позиционирует свои дочерние представления относительно друг друга или относительно родительского макета. Это делает его очень универсальным менеджером макетов, поскольку его можно использовать для создания широкого спектра макетов. Табличный макет — это процесс упорядочивания ячеек, строк и столбцов таблицы визуально привлекательным и функциональным способом. diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index f750f321..32ad478b 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -125,6 +125,9 @@ Mer om behörigheter Språkpreferenser per app Förutsägande bakåtgest + Room-databas + Ange anteckning + Lägg till anteckning Layouts and views Linjär layout Vertikal @@ -318,6 +321,8 @@ Behörigheter är viktiga i Android eftersom du inte kan utföra uppgifter som kräver behörigheter utan att begära dem. Lär dig hur du använder språk per app för att göra din app mer tillgänglig och användarvänlig. Denna funktion låter dig välja ett annat språk för varje app på din enhet, utan att användaren ändrar enhetens språk. Android 13 (API-nivå 33) introducerar en förutsägande bakåtgest för Android-enheter som telefoner, stora skärmar och vikbara enheter. Det är en del av en flerårig lansering; när den är fullt implementerad kommer denna funktion att låta användare förhandsgranska destinationen eller annat resultat av en bakåtgest innan den slutförs helt, vilket gör att de kan bestämma sig för att fortsätta eller stanna kvar i den aktuella vyn. + Bevara enkla anteckningar med Room, ett abstraktionslager ovanpå SQLite. + Room är ett persistensbibliotek som tillhandahåller ett objektmappningslager ovanpå SQLite. Det här exemplet visar hur du sparar och visar anteckningar. En linjär layout är en vygrupp som arrangerar sina barn i en enda, linjär riktning, antingen horisontellt eller vertikalt. Layoutens orientering kan specificeras med attributet android:orientation. En linjär layout kan användas för att skapa en mängd olika användargränssnitt, som listor, knappar och textfält. En relativ layout är en layout-hanterare i Android som positionerar sina barnvyer i förhållande till varandra eller till föräldralayouten. Detta gör den till en mycket mångsidig layout-hanterare, eftersom den kan användas för att skapa en mängd olika layouter. Tabellayout är processen att arrangera celler, rader och kolumner i en tabell på ett visuellt tilltalande och funktionellt sätt. diff --git a/app/src/main/res/values-th-rTH/strings.xml b/app/src/main/res/values-th-rTH/strings.xml index e2606602..a0562d09 100644 --- a/app/src/main/res/values-th-rTH/strings.xml +++ b/app/src/main/res/values-th-rTH/strings.xml @@ -127,6 +127,9 @@ เพิ่มเติมเกี่ยวกับสิทธิ์การเข้าถึง การตั้งค่าภาษาสำหรับแต่ละแอป ท่าทางการย้อนกลับแบบคาดเดา + ฐานข้อมูล Room + ป้อนบันทึก + เพิ่มบันทึก Layouts and views Linear Layout แนวตั้ง @@ -320,6 +323,8 @@ สิทธิ์การเข้าถึงมีความสำคัญใน Android เนื่องจากคุณไม่สามารถทำงานที่ต้องการสิทธิ์ได้หากไม่ขอสิทธิ์เหล่านั้น เรียนรู้วิธีใช้ภาษาสำหรับแต่ละแอปเพื่อทำให้แอปของคุณเข้าถึงได้ง่ายและเป็นมิตรกับผู้ใช้มากขึ้น ฟีเจอร์นี้ช่วยให้คุณเลือกภาษาที่แตกต่างกันสำหรับแต่ละแอปบนอุปกรณ์ของคุณ โดยที่ผู้ใช้ไม่ต้องเปลี่ยนภาษาของอุปกรณ์ Android 13 (API level 33) นำเสนอท่าทางการย้อนกลับแบบคาดเดาสำหรับอุปกรณ์ Android เช่น โทรศัพท์, หน้าจอขนาดใหญ่, และอุปกรณ์พับได้ เป็นส่วนหนึ่งของการเปิดตัวที่ใช้เวลาหลายปี; เมื่อใช้งานอย่างสมบูรณ์แล้ว, ฟีเจอร์นี้จะช่วยให้ผู้ใช้สามารถดูตัวอย่างปลายทางหรือผลลัพธ์อื่นของท่าทางการย้อนกลับก่อนที่จะทำอย่างสมบูรณ์, ทำให้พวกเขาสามารถตัดสินใจว่าจะดำเนินการต่อหรืออยู่ในมุมมองปัจจุบัน + จัดเก็บบันทึกง่าย ๆ ด้วย Room ซึ่งเป็นเลเยอร์นามธรรมบน SQLite. + Room เป็นไลบรารีการจัดเก็บถาวรที่ให้เลเยอร์การแมปออบเจ็กต์บน SQLite ตัวอย่างนี้แสดงวิธีบันทึกและแสดงบันทึก. linear layout คือกลุ่มของวิวที่จัดเรียงองค์ประกอบย่อยในทิศทางเดียว, ไม่ว่าจะเป็นแนวนอนหรือแนวตั้ง ทิศทางของเลย์เอาต์สามารถระบุได้โดยใช้แอตทริบิวต์ android:orientation สามารถใช้ linear layout เพื่อสร้างอินเทอร์เฟซผู้ใช้ที่หลากหลาย เช่น รายการ, ปุ่ม, และช่องข้อความ relative layout คือตัวจัดการเลย์เอาต์ใน Android ที่จัดตำแหน่งวิวลูกหลานโดยสัมพันธ์กันหรือสัมพันธ์กับเลย์เอาต์หลัก ทำให้เป็นตัวจัดการเลย์เอาต์ที่หลากหลายมาก, เนื่องจากสามารถใช้สร้างเลย์เอาต์ได้หลากหลายรูปแบบ table layout คือกระบวนการจัดเรียงเซลล์, แถว, และคอลัมน์ของตารางในลักษณะที่สวยงามและใช้งานได้ดี diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 145c6a90..733c02b3 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -125,6 +125,9 @@ İzinler hakkında daha fazla bilgi Uygulama başına dil tercihleri Tahminli geri hareketi + Room veritabanı + Not girin + Not ekle Layouts and views Doğrusal Yerleşim (Linear Layout) Dikey @@ -318,6 +321,8 @@ İzinler Android\'de önemlidir çünkü izin gerektiren görevleri izin istemeden yapamazsınız. Uygulamanızı daha erişilebilir ve kullanıcı dostu hale getirmek için uygulama başına dilleri nasıl kullanacağınızı öğrenin. Bu özellik, kullanıcının cihaz dilini değiştirmeden cihazınızdaki her uygulama için farklı bir dil seçmenize olanak tanır. Android 13 (API seviyesi 33), telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlar için tahminli bir geri hareketi sunar. Bu, çok yıllık bir sürümün bir parçasıdır; tam olarak uygulandığında, bu özellik kullanıcıların bir geri hareketinin hedefini veya diğer sonucunu tamamen tamamlamadan önce önizlemesine olanak tanıyacak ve devam edip etmeyeceklerine veya mevcut görünümde kalacaklarına karar vermelerini sağlayacaktır. + SQLite üzerinde bir soyutlama katmanı olan Room'u kullanarak basit notları kalıcı hale getirin. + Room, SQLite üzerinde nesne eşleme katmanı sağlayan bir kalıcılık kütüphanesidir. Bu örnek, notları nasıl kaydedeceğinizi ve görüntüleyeceğinizi gösterir. Doğrusal yerleşim, alt öğelerini tek bir doğrusal yönde (yatay veya dikey) düzenleyen bir görünüm grubudur. Yerleşimin yönü android:orientation özelliği kullanılarak belirtilebilir. Doğrusal yerleşim, listeler, düğmeler ve metin alanları gibi çeşitli kullanıcı arayüzleri oluşturmak için kullanılabilir. Göreceli yerleşim, alt görünümlerini birbirlerine veya ana yerleşime göre konumlandıran bir Android yerleşim yöneticisidir. Bu, onu çok yönlü bir yerleşim yöneticisi yapar, çünkü çok çeşitli yerleşimler oluşturmak için kullanılabilir. Tablo yerleşimi, bir tablonun hücrelerini, satırlarını ve sütunlarını görsel olarak çekici ve işlevsel bir şekilde düzenleme sürecidir. diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml index 69188444..73726608 100644 --- a/app/src/main/res/values-uk-rUA/strings.xml +++ b/app/src/main/res/values-uk-rUA/strings.xml @@ -125,6 +125,9 @@ Більше про дозволи Налаштування мови для кожної програми Прогнозований жест "Назад" + База даних Room + Введіть нотатку + Додати нотатку Layouts and views Лінійний макет (Linear Layout) Вертикально @@ -318,6 +321,8 @@ Дозволи важливі в Android, оскільки ви не можете виконувати завдання, які вимагають дозволів, без їх запиту. Дізнайтеся, як використовувати мови для кожної програми, щоб зробити ваш додаток більш доступним та зручним для користувача. Ця функція дозволяє вибрати іншу мову для кожної програми на вашому пристрої, без того, щоб користувач змінював мову свого пристрою. Android 13 (API рівень 33) вводить прогнозований жест "Назад" для пристроїв Android, таких як телефони, великі екрани та складні пристрої. Це частина багаторічного випуску; коли функція буде повністю реалізована, вона дозволить користувачам переглядати кінцевий пункт призначення або інший результат жесту "Назад" перед його повним завершенням, що дасть їм змогу вирішити, чи продовжувати, чи залишатися в поточному представленні. + Зберігайте прості нотатки за допомогою Room — шару абстракції над SQLite. + Room — це бібліотека персистентності, яка забезпечує шар об’єктного відображення поверх SQLite. Цей приклад показує, як зберігати та відображати нотатки. Лінійний макет — це група представлень, яка розташовує свої дочірні елементи в одному лінійному напрямку, або по горизонталі, або по вертикалі. Орієнтацію макета можна вказати за допомогою атрибута android:orientation. Лінійний макет можна використовувати для створення різноманітних користувацьких інтерфейсів, таких як списки, кнопки та текстові поля. Відносний макет — це менеджер макетів в Android, який позиціонує свої дочірні представлення відносно один одного або відносно батьківського макета. Це робить його дуже універсальним менеджером макетів, оскільки його можна використовувати для створення широкого спектру макетів. Табличний макет — це процес розташування комірок, рядків та стовпців таблиці у візуально привабливий та функціональний спосіб. diff --git a/app/src/main/res/values-ur-rPK/strings.xml b/app/src/main/res/values-ur-rPK/strings.xml index 6fe68ab6..a5a846b2 100644 --- a/app/src/main/res/values-ur-rPK/strings.xml +++ b/app/src/main/res/values-ur-rPK/strings.xml @@ -125,6 +125,9 @@ اجازتوں کے بارے میں مزید فی ایپ زبان کی ترجیحات پیش گوئی والا بیک اشارہ + Room ڈیٹا بیس + نوٹ درج کریں + نوٹ شامل کریں Layouts and views لینیئر لے آؤٹ عمودی @@ -318,6 +321,8 @@ اینڈرائیڈ میں اجازتیں اہم ہیں کیونکہ آپ اجازتوں کی درخواست کیے بغیر وہ کام نہیں کر سکتے جن کے لیے اجازتوں کی ضرورت ہوتی ہے۔ فی ایپ زبانوں کا استعمال کرکے اپنی ایپ کو مزید قابل رسائی اور صارف دوست بنانے کا طریقہ سیکھیں۔ یہ خصوصیت آپ کو اپنے ڈیوائس پر ہر ایپ کے لیے ایک مختلف زبان منتخب کرنے دیتی ہے، بغیر صارف کے اپنے ڈیوائس کی زبان کو تبدیل کیے۔ اینڈرائیڈ 13 (API لیول 33) اینڈرائیڈ ڈیوائسز جیسے فونز، بڑی اسکرینوں، اور فولڈ ایبلز کے لیے ایک پیش گوئی والا بیک اشارہ متعارف کراتا ہے۔ یہ ایک کثیر سالہ ریلیز کا حصہ ہے؛ جب مکمل طور پر نافذ ہو جائے گا، تو یہ فیچر صارفین کو بیک اشارے کی منزل یا دیگر نتائج کا پیش منظر دیکھنے دے گا، اسے مکمل کرنے سے پہلے، جس سے وہ فیصلہ کر سکیں گے کہ آیا جاری رکھنا ہے یا موجودہ ویو میں رہنا ہے۔ + SQLite کے اوپر ایک abstraction layer Room کا استعمال کرتے ہوئے سادہ نوٹس محفوظ کریں۔ + Room ایک persistent لائبریری ہے جو SQLite کے اوپر object mapping layer فراہم کرتی ہے۔ یہ مثال دکھاتی ہے کہ نوٹس کو کیسے محفوظ اور دکھایا جائے۔ لینیئر لے آؤٹ ایک ویو گروپ ہے جو اپنے بچوں کو ایک ہی، لکیری سمت میں، یا تو افقی یا عمودی طور پر ترتیب دیتا ہے۔ لے آؤٹ کی سمت بندی android:orientation وصف کا استعمال کرکے بیان کی جاسکتی ہے۔ لینیئر لے آؤٹ کا استعمال مختلف قسم کے یوزر انٹرفیس بنانے کے لیے کیا جاسکتا ہے، جیسے فہرستیں، بٹن، اور ٹیکسٹ فیلڈز۔ ریلیٹو لے آؤٹ اینڈرائیڈ میں ایک لے آؤٹ مینیجر ہے جو اپنے چائلڈ ویوز کو ایک دوسرے کے نسبت یا پیرنٹ لے آؤٹ کے نسبت پوزیشن کرتا ہے۔ یہ اسے ایک بہت ورسٹائل لے آؤٹ مینیجر بناتا ہے، کیونکہ اسے مختلف قسم کے لے آؤٹس بنانے کے لیے استعمال کیا جاسکتا ہے۔ ٹیبل لے آؤٹ ایک ٹیبل کے سیلز، قطاروں، اور کالموں کو بصری طور پر دلکش اور فعال طریقے سے ترتیب دینے کا عمل ہے۔ diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml index 0778ae0f..ac2f5a03 100644 --- a/app/src/main/res/values-vi-rVN/strings.xml +++ b/app/src/main/res/values-vi-rVN/strings.xml @@ -125,6 +125,9 @@ Thêm về quyền Tùy chọn ngôn ngữ cho mỗi ứng dụng Cử chỉ quay lại dự đoán + Cơ sở dữ liệu Room + Nhập ghi chú + Thêm ghi chú Layouts and views Bố cục tuyến tính Dọc @@ -318,6 +321,8 @@ Quyền rất quan trọng trong Android vì bạn không thể thực hiện các tác vụ yêu cầu quyền mà không yêu cầu quyền. Tìm hiểu cách sử dụng ngôn ngữ cho mỗi ứng dụng để làm cho ứng dụng của bạn dễ tiếp cận và thân thiện với người dùng hơn. Tính năng này cho phép bạn chọn một ngôn ngữ khác nhau cho mỗi ứng dụng trên thiết bị của mình mà không cần người dùng thay đổi ngôn ngữ thiết bị của họ. Android 13 (API cấp 33) giới thiệu một cử chỉ quay lại dự đoán cho các thiết bị Android như điện thoại, màn hình lớn và thiết bị gập. Đây là một phần của bản phát hành kéo dài nhiều năm; khi được triển khai đầy đủ, tính năng này sẽ cho phép người dùng xem trước đích đến hoặc kết quả khác của cử chỉ quay lại trước khi hoàn thành hoàn toàn, cho phép họ quyết định tiếp tục hay ở lại chế độ xem hiện tại. + Lưu trữ các ghi chú đơn giản bằng Room, một lớp trừu tượng trên SQLite. + Room là thư viện lưu trữ cung cấp lớp ánh xạ đối tượng trên SQLite. Ví dụ này cho thấy cách lưu và hiển thị ghi chú. Bố cục tuyến tính là một nhóm chế độ xem sắp xếp các phần tử con của nó theo một hướng tuyến tính duy nhất, theo chiều ngang hoặc chiều dọc. Hướng của bố cục có thể được chỉ định bằng thuộc tính android:orientation. Bố cục tuyến tính có thể được sử dụng để tạo nhiều giao diện người dùng khác nhau, chẳng hạn như danh sách, nút và trường văn bản. Bố cục tương đối là một trình quản lý bố cục trong Android định vị các chế độ xem con của nó tương đối với nhau hoặc với bố cục mẹ. Điều này làm cho nó trở thành một trình quản lý bố cục rất linh hoạt, vì nó có thể được sử dụng để tạo ra nhiều loại bố cục khác nhau. Bố cục bảng là quá trình sắp xếp các ô, hàng và cột của một bảng một cách hấp dẫn về mặt hình ảnh và chức năng. diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 2f2441d2..084dc71b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -125,6 +125,9 @@ 更多關於權限 各應用程式語言偏好設定 預測性返回手勢 + Room 資料庫 + 輸入筆記 + 新增筆記 Layouts and views Linear Layout 垂直 @@ -318,6 +321,8 @@ 權限在 Android 中非常重要,因為您無法在未請求權限的情況下執行需要權限的任務。 學習如何使用各應用程式語言,讓您的應用程式更易於存取且更友善。此功能讓您可以為裝置上的每個應用程式選擇不同的語言,而無需使用者變更其裝置語言。 Android 13 (API 等級 33) 為手機、大螢幕和摺疊式裝置等 Android 裝置引入了預測性返回手勢。這是一個多年發布計畫的一部分;當完全實作時,此功能將讓使用者在完全完成返回手勢之前預覽目的地或其他結果,讓他們決定是繼續還是停留在目前視圖中。 + 使用 Room(SQLite 之上的抽象層)保存簡單筆記。 + Room 是一個在 SQLite 上提供物件對應層的持久性函式庫。本例示範如何儲存並顯示筆記。 線性版面配置 (Linear Layout) 是一個視圖群組,它將其子項目排列在單一的線性方向上,可以是水平或垂直的。版面配置的方向可以使用 android:orientation 屬性來指定。線性版面配置可用於建立各種使用者介面,例如清單、按鈕和文字欄位。 相對版面配置 (Relative Layout) 是 Android 中的一個版面配置管理員,它根據子視圖彼此之間或與父版面配置的相對位置來定位它們。這使其成為一個非常靈活的版面配置管理員,因為它可以用於建立各種各樣的版面配置。 表格版面配置 (Table Layout) 是以視覺上吸引人且功能性的方式排列表格的儲存格、列和欄的過程。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9afb24cb..2af6b9a3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -138,9 +138,9 @@ Predictive back gesture - Room database - Enter note - Add note + Room database + Enter note + Add note Layouts and views @@ -346,8 +346,8 @@ Permissions are important in Android as you can\'t do tasks, that require permissions, without requesting permissions. Learn how to use per-app languages to make your app more accessible and user-friendly. This feature lets you choose a different language for each app on your device, without the user changing their device language. Android 13 (API level 33) introduces a predictive back gesture for Android devices such as phones, large screens, and foldables. It is part of a multi-year release; when fully implemented, this feature will let users preview the destination or other result of a back gesture before fully completing it, allowing them to decide whether to continue or stay in the current view. - Persist simple notes using Room, an abstraction layer over SQLite. - Room is a persistence library that provides an object mapping layer on top of SQLite. This example shows how to save and display notes. + Persist simple notes using Room, an abstraction layer over SQLite. + Room is a persistence library that provides an object mapping layer on top of SQLite. This example shows how to save and display notes. A linear layout is a view group that arranges its children in a single, linear direction, either horizontally or vertically. The orientation of the layout can be specified using the android:orientation attribute. A linear layout can be used to create a variety of user interfaces, such as lists, buttons, and text fields. A relative layout is a layout manager in Android that positions its child views relative to each other or to the parent layout. This makes it a very versatile layout manager, as it can be used to create a wide variety of layouts. Table layout is the process of arranging the cells, rows, and columns of a table in a visually appealing and functional way. From af6c8c84a2d85aa13d9bff4a7a05e6c000376547 Mon Sep 17 00:00:00 2001 From: D4rK7355608 Date: Tue, 2 Sep 2025 12:14:09 +0300 Subject: [PATCH 5/5] Fix typos in Spanish and Turkish translations - Corrected "interfaz" in `summary_preference_android_studio_time_picker`, `summary_preference_android_studio_text_box`, and `summary_android_features` for es-rMX and es-rGQ. - Corrected apostrophe in `summary_preference_android_studio_room_database` for tr-rTR. - Removed unused `tools` namespace from Italian, Hungarian, Japanese, and Polish `strings.xml`. --- app/src/main/res/values-es-rGQ/strings.xml | 6 +++--- app/src/main/res/values-es-rMX/strings.xml | 6 +++--- app/src/main/res/values-hu-rHU/strings.xml | 2 +- app/src/main/res/values-it-rIT/strings.xml | 2 +- app/src/main/res/values-ja-rJP/strings.xml | 2 +- app/src/main/res/values-pl-rPL/strings.xml | 2 +- app/src/main/res/values-tr-rTR/strings.xml | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/values-es-rGQ/strings.xml b/app/src/main/res/values-es-rGQ/strings.xml index 01cd1170..434a2427 100644 --- a/app/src/main/res/values-es-rGQ/strings.xml +++ b/app/src/main/res/values-es-rGQ/strings.xml @@ -325,10 +325,10 @@ Muestra un botón con una imagen (en lugar de texto) que puede ser presionado o clicado por el usuario. Por defecto, un ImageButton se ve como un Button normal, con el fondo de botón estándar que cambia de color durante diferentes estados del botón. La imagen en la superficie del botón se define ya sea por el atributo android:src en el elemento XML ImageButton o por el método ImageView.setImageResource(int). Explora las capacidades de los interruptores en Android Studio y aprende cómo implementarlos eficazmente en tus aplicaciones. Esta lección proporciona una guía completa para usar interruptores, incluidas las mejores prácticas para diseñar interfaces visualmente atractivas y fáciles de usar. Una forma sencilla de agregar un reloj digital, analógico o de texto en tu aplicación Android. - Android TimePicker is a user interface control for selecting the time in either 24-hour format or AM/PM mode. It is used to ensure that users pick the valid time for the day in the app. The time picker interface exists basically in two modes one is under XML layout and another is a dialog. + Android TimePicker is a user interfaz control for selecting the time in either 24-hour format or AM/PM mode. It is used to ensure that users pick the valid time for the day in the app. The time picker interfaz exists basically in two modes one is under XML layout and another is a dialog. Android proporciona controles para que el usuario elija una hora o una fecha como diálogos listos para usar. Cada selector proporciona controles para seleccionar cada parte de la hora (hora, minuto, AM/PM) o fecha (mes, día, año). Usar estos selectores ayuda a garantizar que tus usuarios puedan elegir una hora o fecha que sea válida, formateada correctamente y ajustada a la configuración regional del usuario. Explora las capacidades del widget Chronometer en Android, una potente herramienta para mostrar el tiempo transcurrido. Aprende a configurar escuchadores de clics para botones para controlar el cronómetro y descubre los diversos métodos disponibles para personalizar su comportamiento. - A user interface element for entering and modifying text. When you define an edit text widget, you must specify the R.styleable.TextView_inputType attribute to ensure the correct keyboard and input behaviors. + A user interfaz element for entering and modifying text. When you define an edit text widget, you must specify the R.styleable.TextView_inputType attribute to ensure the correct keyboard and input behaviors. Una caja de texto simple con la capacidad de ocultar texto. Se usa en las pantallas de inicio de sesión de la mayoría de las aplicaciones para mantener seguras las contraseñas. Un diálogo es una pequeña ventana que solicita al usuario que tome una decisión o ingrese información adicional. Un diálogo no llena la pantalla y normalmente se usa para eventos modales que requieren que los usuarios realicen una acción antes de poder continuar. Las Snackbars informan a los usuarios sobre un proceso que una aplicación ha realizado o realizará. Aparecen temporalmente, hacia la parte inferior de la pantalla. No deberían interrumpir la experiencia del usuario y no requieren la entrada del usuario para desaparecer. @@ -357,7 +357,7 @@ Your donation helps keep the app running and improve features. Thank you for your generosity. Aprende a usar barras de progreso en Android con esta lección interactiva. Esta lección incluye dos secciones: una para una barra de progreso horizontal y otra para una barra de progreso circular. En cada sección, puedes ver cómo se actualiza la barra de progreso a medida que avanza una descarga. También puedes ver el código de la lección haciendo clic en el botón de acción flotante en la parte inferior de la pantalla. Android es un sistema operativo móvil desarrollado por Google. Se lanzó por primera vez como una versión beta el 5 de noviembre de 2007 y la primera versión comercial, Android 1.0, se lanzó el 23 de septiembre de 2008. Android se basa en una versión modificada del kernel de Linux y otro software de código abierto.\n\nAndroid Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de aplicaciones Android. Fue anunciado por Google en su conferencia I/O el 15 de mayo de 2013 y lanzado para uso público el 8 de diciembre de 2014. Android Studio se basa en IntelliJ IDEA, un popular IDE de Java.\n\nKotlin es un lenguaje de programación multiplataforma que puede ejecutarse en Java Virtual Machine (JVM), Android, navegador y plataformas nativas. Fue creado por JetBrains, una compañía de software con sede en Praga. Kotlin se anunció por primera vez en julio de 2011 y se lanzó como un proyecto de código abierto en febrero de 2012.\n\nGoogle anunció su soporte para Kotlin como lenguaje oficial para el desarrollo de aplicaciones Android en su conferencia I/O el 17 de mayo de 2017. Desde entonces, Kotlin se ha convertido en uno de los lenguajes más populares para los desarrolladores de Android. Según datos de Google de octubre de 2020, más del 70% de las 1000 aplicaciones principales en Google Play usan Kotlin. - Android is not only an operating system, but also a platform that offers a range of features and capabilities for users and developers. Some of the features of Android include:\n\n- Near Field Communication (NFC), which allows you to share data, make payments, and connect with other devices wirelessly.\n- Alternate keyboards, which let you customize your input method with different layouts, languages, and themes.\n- IR transmission, which enables you to use your phone as a remote control for TVs, air conditioners, and other appliances.\n- No-touch control, which lets you perform actions on your phone without touching the screen by using gestures or voice commands.\n- Automation, which allows you to set up routines and triggers for your phone to perform certain tasks automatically.\n- Wireless app downloads, which let you install apps from your computer or web browser without connecting your phone with a cable.\n- Storage and battery swap, which give you the option to expand your phone\'s memory or replace its battery easily.\n- Custom home screen, which lets you personalize your phone\'s appearance with widgets, wallpapers, icons, and launchers.\n\nAndroid Studio is the best tool for developing Android apps. It offers many features and benefits for developers such as:\n\n- Code editor with syntax highlighting, code completion, refactoring, debugging, testing, and linting tools.\n- Layout editor with drag-and-drop interface for designing user interfaces.\n- Emulator with fast boot and snapshot support for testing apps on different devices and configurations.\n- Firebase integration with services such as authentication, database, storage, analytics, crash reporting, and more. \n- Gradle-based build system with dependency management,\ncustomization,\noptimization,\nsigning,\ndistribution options, and more. \n\nWith Android Studio,\nyou can create amazing apps for Android devices using Kotlin,\na modern programming language that is concise,\nsafe,\nexpressive,\nand interoperable with Java. + Android is not only an operating system, but also a platform that offers a range of features and capabilities for users and developers. Some of the features of Android include:\n\n- Near Field Communication (NFC), which allows you to share data, make payments, and connect with other devices wirelessly.\n- Alternate keyboards, which let you customize your input method with different layouts, languages, and themes.\n- IR transmission, which enables you to use your phone as a remote control for TVs, air conditioners, and other appliances.\n- No-touch control, which lets you perform actions on your phone without touching the screen by using gestures or voice commands.\n- Automation, which allows you to set up routines and triggers for your phone to perform certain tasks automatically.\n- Wireless app downloads, which let you install apps from your computer or web browser without connecting your phone with a cable.\n- Storage and battery swap, which give you the option to expand your phone\'s memory or replace its battery easily.\n- Custom home screen, which lets you personalize your phone\'s appearance with widgets, wallpapers, icons, and launchers.\n\nAndroid Studio is the best tool for developing Android apps. It offers many features and benefits for developers such as:\n\n- Code editor with syntax highlighting, code completion, refactoring, debugging, testing, and linting tools.\n- Layout editor with drag-and-drop interfaz for designing user interfaces.\n- Emulator with fast boot and snapshot support for testing apps on different devices and configurations.\n- Firebase integration with services such as authentication, database, storage, analytics, crash reporting, and more. \n- Gradle-based build system with dependency management,\ncustomization,\noptimization,\nsigning,\ndistribution options, and more. \n\nWith Android Studio,\nyou can create amazing apps for Android devices using Kotlin,\na modern programming language that is concise,\nsafe,\nexpressive,\nand interoperable with Java. Un Cronómetro es un widget especializado en el marco de Android que proporciona una funcionalidad similar a un temporizador para mostrar el tiempo transcurrido. Se puede configurar para contar hacia arriba o hacia abajo, y se usa comúnmente en aplicaciones que requieren cronometraje, como aplicaciones de cronómetro o temporizador de cuenta regresiva. La clase Chronometer se deriva de la clase TextView, lo que significa que hereda todas las propiedades y métodos de un TextView. Esto permite a los desarrolladores personalizar fácilmente la apariencia del Cronómetro, incluido el tamaño de su texto, color y fuente. Esto es un Snackbar. pulsado diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index adf5a4e1..ded5bb99 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -334,10 +334,10 @@ Muestra un botón con una imagen (en lugar de texto) que puede ser presionado o clickeado por el usuario. Por defecto, un ImageButton se ve como un Botón normal, con el fondo de botón estándar que cambia de color durante los diferentes estados del botón. La imagen en la superficie del botón se define ya sea por el atributo android:src en el elemento XML de ImageButton o por el método ImageView.setImageResource(int). Explora las capacidades de los interruptores en Android Studio y aprende a implementarlos eficazmente en tus aplicaciones. Esta lección proporciona una guía completa para usar interruptores, incluyendo las mejores prácticas para diseñar interfaces visualmente atractivas y fáciles de usar. Una forma sencilla de agregar un reloj digital, analógico o de texto en tu app de Android. - Android TimePicker is a user interface control for selecting the time in either 24-hour format or AM/PM mode. It is used to ensure that users pick the valid time for the day in the app. The time picker interface exists basically in two modes one is under XML layout and another is a dialog. + Android TimePicker is a user interfaz control for selecting the time in either 24-hour format or AM/PM mode. It is used to ensure that users pick the valid time for the day in the app. The time picker interfaz exists basically in two modes one is under XML layout and another is a dialog. Android proporciona controles para que el usuario elija una hora o una fecha como diálogos listos para usar. Cada selector proporciona controles para seleccionar cada parte de la hora (hora, minuto, AM/PM) o la fecha (mes, día, año). Usar estos selectores ayuda a asegurar que tus usuarios puedan elegir una hora o fecha que sea válida, formateada correctamente y ajustada a la configuración regional del usuario. Explora las capacidades del widget Cronómetro en Android, una herramienta poderosa para mostrar el tiempo transcurrido. Aprende a configurar escuchadores de clics para que los botones controlen el cronómetro y descubre los diversos métodos disponibles para personalizar su comportamiento. - A user interface element for entering and modifying text. When you define an edit text widget, you must specify the R.styleable.TextView_inputType attribute to ensure the correct keyboard and input behaviors. + A user interfaz element for entering and modifying text. When you define an edit text widget, you must specify the R.styleable.TextView_inputType attribute to ensure the correct keyboard and input behaviors. Un campo de texto simple con la capacidad de ocultar el texto. Se usa en las pantallas de inicio de sesión de la mayoría de las apps para mantener seguras las contraseñas. Un diálogo es una pequeña ventana que le pide al usuario que tome una decisión o ingrese información adicional. Un diálogo no llena la pantalla y normalmente se usa para eventos modales que requieren que los usuarios realicen una acción antes de poder continuar. Las snack bars informan a los usuarios de un proceso que una app ha realizado o realizará. Aparecen temporalmente, hacia la parte inferior de la pantalla. No deben interrumpir la experiencia del usuario y no requieren la intervención del usuario para desaparecer. @@ -366,7 +366,7 @@ Your donation helps keep the app running and improve features. Thank you for your generosity. Aprende a usar las barras de progreso en Android con esta lección interactiva. Esta lección incluye dos secciones: una para una barra de progreso horizontal y otra para una barra de progreso circular. En cada sección, puedes ver cómo se actualiza la barra de progreso a medida que avanza una descarga. También puedes ver el código de la lección haciendo clic en el botón de acción flotante en la parte inferior de la pantalla. Android es un sistema operativo móvil desarrollado por Google. Se lanzó por primera vez como una versión beta el 5 de noviembre de 2007 y la primera versión comercial, Android 1.0, se lanzó el 23 de septiembre de 2008. Android se basa en una versión modificada del kernel de Linux y otro software de código abierto.\n\nAndroid Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de apps de Android. Fue anunciado por Google en su conferencia I/O el 15 de mayo de 2013 y lanzado para uso público el 8 de diciembre de 2014. Android Studio se basa en IntelliJ IDEA, un popular IDE de Java.\n\nKotlin es un lenguaje de programación multiplataforma que puede ejecutarse en la Máquina Virtual de Java (JVM), Android, navegador y plataformas nativas. Fue creado por JetBrains, una empresa de software con sede en Praga. Kotlin se anunció por primera vez en julio de 2011 y se lanzó como un proyecto de código abierto en febrero de 2012.\n\nGoogle anunció su soporte para Kotlin como lenguaje oficial para el desarrollo de apps de Android en su conferencia I/O el 17 de mayo de 2017. Desde entonces, Kotlin se ha convertido en uno de los lenguajes más populares para los desarrolladores de Android. Según datos de Google de octubre de 2020, más del 70% de las 1000 apps principales en Google Play usan Kotlin. - Android is not only an operating system, but also a platform that offers a range of features and capabilities for users and developers. Some of the features of Android include:\n\n- Near Field Communication (NFC), which allows you to share data, make payments, and connect with other devices wirelessly.\n- Alternate keyboards, which let you customize your input method with different layouts, languages, and themes.\n- IR transmission, which enables you to use your phone as a remote control for TVs, air conditioners, and other appliances.\n- No-touch control, which lets you perform actions on your phone without touching the screen by using gestures or voice commands.\n- Automation, which allows you to set up routines and triggers for your phone to perform certain tasks automatically.\n- Wireless app downloads, which let you install apps from your computer or web browser without connecting your phone with a cable.\n- Storage and battery swap, which give you the option to expand your phone\'s memory or replace its battery easily.\n- Custom home screen, which lets you personalize your phone\'s appearance with widgets, wallpapers, icons, and launchers.\n\nAndroid Studio is the best tool for developing Android apps. It offers many features and benefits for developers such as:\n\n- Code editor with syntax highlighting, code completion, refactoring, debugging, testing, and linting tools.\n- Layout editor with drag-and-drop interface for designing user interfaces.\n- Emulator with fast boot and snapshot support for testing apps on different devices and configurations.\n- Firebase integration with services such as authentication, database, storage, analytics, crash reporting, and more. \n- Gradle-based build system with dependency management,\ncustomization,\noptimization,\nsigning,\ndistribution options, and more. \n\nWith Android Studio,\nyou can create amazing apps for Android devices using Kotlin,\na modern programming language that is concise,\nsafe,\nexpressive,\nand interoperable with Java. + Android is not only an operating system, but also a platform that offers a range of features and capabilities for users and developers. Some of the features of Android include:\n\n- Near Field Communication (NFC), which allows you to share data, make payments, and connect with other devices wirelessly.\n- Alternate keyboards, which let you customize your input method with different layouts, languages, and themes.\n- IR transmission, which enables you to use your phone as a remote control for TVs, air conditioners, and other appliances.\n- No-touch control, which lets you perform actions on your phone without touching the screen by using gestures or voice commands.\n- Automation, which allows you to set up routines and triggers for your phone to perform certain tasks automatically.\n- Wireless app downloads, which let you install apps from your computer or web browser without connecting your phone with a cable.\n- Storage and battery swap, which give you the option to expand your phone\'s memory or replace its battery easily.\n- Custom home screen, which lets you personalize your phone\'s appearance with widgets, wallpapers, icons, and launchers.\n\nAndroid Studio is the best tool for developing Android apps. It offers many features and benefits for developers such as:\n\n- Code editor with syntax highlighting, code completion, refactoring, debugging, testing, and linting tools.\n- Layout editor with drag-and-drop interfaz for designing user interfaces.\n- Emulator with fast boot and snapshot support for testing apps on different devices and configurations.\n- Firebase integration with services such as authentication, database, storage, analytics, crash reporting, and more. \n- Gradle-based build system with dependency management,\ncustomization,\noptimization,\nsigning,\ndistribution options, and more. \n\nWith Android Studio,\nyou can create amazing apps for Android devices using Kotlin,\na modern programming language that is concise,\nsafe,\nexpressive,\nand interoperable with Java. Un Cronómetro es un widget especializado en el framework de Android que proporciona una funcionalidad similar a un temporizador para mostrar el tiempo transcurrido. Se puede configurar para contar hacia arriba o hacia abajo, y se usa comúnmente en aplicaciones que requieren cronometraje, como aplicaciones de cronómetro o temporizador de cuenta regresiva. La clase Chronometer se deriva de la clase TextView, lo que significa que hereda todas las propiedades y métodos de un TextView. Esto permite a los desarrolladores personalizar fácilmente la apariencia del Cronómetro, incluido el tamaño del texto, el color y la fuente. Esto es un snack bar. Pulsado diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index 199dd8d6..f07a9d9d 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -1,5 +1,5 @@ - + Szerezd meg a Google Playen Tudj meg többet Play Áruház diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 7fcb5cf3..f0ed25f6 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -1,5 +1,5 @@ - + Scaricalo su Google Play Scopri di più Play Store diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 9ae76c54..c8263975 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1,5 +1,5 @@ - + Google Play で入手しよう 詳しく見る Play ストア diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index f97e9793..0ada89e5 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -1,5 +1,5 @@ - + Pobierz z Google Play Dowiedz się więcej Sklep Play diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 733c02b3..072faf5b 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -321,7 +321,7 @@ İzinler Android\'de önemlidir çünkü izin gerektiren görevleri izin istemeden yapamazsınız. Uygulamanızı daha erişilebilir ve kullanıcı dostu hale getirmek için uygulama başına dilleri nasıl kullanacağınızı öğrenin. Bu özellik, kullanıcının cihaz dilini değiştirmeden cihazınızdaki her uygulama için farklı bir dil seçmenize olanak tanır. Android 13 (API seviyesi 33), telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlar için tahminli bir geri hareketi sunar. Bu, çok yıllık bir sürümün bir parçasıdır; tam olarak uygulandığında, bu özellik kullanıcıların bir geri hareketinin hedefini veya diğer sonucunu tamamen tamamlamadan önce önizlemesine olanak tanıyacak ve devam edip etmeyeceklerine veya mevcut görünümde kalacaklarına karar vermelerini sağlayacaktır. - SQLite üzerinde bir soyutlama katmanı olan Room'u kullanarak basit notları kalıcı hale getirin. + SQLite üzerinde bir soyutlama katmanı olan Room\'u kullanarak basit notları kalıcı hale getirin. Room, SQLite üzerinde nesne eşleme katmanı sağlayan bir kalıcılık kütüphanesidir. Bu örnek, notları nasıl kaydedeceğinizi ve görüntüleyeceğinizi gösterir. Doğrusal yerleşim, alt öğelerini tek bir doğrusal yönde (yatay veya dikey) düzenleyen bir görünüm grubudur. Yerleşimin yönü android:orientation özelliği kullanılarak belirtilebilir. Doğrusal yerleşim, listeler, düğmeler ve metin alanları gibi çeşitli kullanıcı arayüzleri oluşturmak için kullanılabilir. Göreceli yerleşim, alt görünümlerini birbirlerine veya ana yerleşime göre konumlandıran bir Android yerleşim yöneticisidir. Bu, onu çok yönlü bir yerleşim yöneticisi yapar, çünkü çok çeşitli yerleşimler oluşturmak için kullanılabilir.