Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- activity_main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <AbsoluteLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity"
- tools:ignore="Deprecated">
- <EditText
- android:id="@+id/idDate"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_x="16dp"
- android:layout_y="16dp"
- android:ems="10"
- android:hint="Enter today's date"/>
- <EditText
- android:id="@+id/idNote"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_x="16dp"
- android:layout_y="61dp"
- android:ems="10"
- android:hint="Enter note content"/>
- <Button
- android:id="@+id/idAdd"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_x="16dp"
- android:layout_y="106dp"
- android:text="Add Note"/>
- </AbsoluteLayout>
- MainActivity.java
- package com.example.program4a;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Toast;
- import android.widget.Button;
- import android.widget.EditText;
- import android.content.ContentValues;
- import androidx.appcompat.app.AppCompatActivity;
- public class MainActivity extends AppCompatActivity implements View.OnClickListener {
- EditText date, note;
- Button add;
- @Override
- protected void onCreate(Bundle b) {
- super.onCreate(b);
- setContentView(R.layout.activity_main);
- date = findViewById(R.id.idDate);
- note = findViewById(R.id.idNote);
- add = findViewById(R.id.idAdd);
- add.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- if(v.equals(add)){
- String dateText = date.getText().toString();
- String noteText = note.getText().toString();
- ContentValues cv = new ContentValues();
- cv.put("date", dateText);
- cv.put("note", noteText);
- getContentResolver().insert(NotesProvider.CONTENT_URI, cv);
- Toast.makeText(this, "Note added", Toast.LENGTH_SHORT).show();
- }
- }
- }
- NotesProvider.java
- package com.example.program4a;
- import android.net.Uri;
- import android.database.Cursor;
- import android.content.ContentValues;
- import android.content.ContentProvider;
- import android.database.sqlite.SQLiteDatabase;
- public class NotesProvider extends ContentProvider {
- static String AUTHORITY = "com.example.notesprovider";
- static String BASE_PATH = "notes";
- static Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/" + BASE_PATH);
- ProviderDatabase dbHelper;
- SQLiteDatabase db;
- @Override
- public boolean onCreate() {
- dbHelper = new ProviderDatabase(getContext(), ProviderDatabase.DATABASE_NAME, null, 1);
- return (dbHelper == null) ? false : true;
- }
- @Override
- public Cursor query(Uri uri, String[] strings, String s, String[] strings1, String s1) {
- db = dbHelper.getReadableDatabase();
- Cursor c = db.query(ProviderDatabase.TABLE_NAME, strings, s, strings1, null, null, null);
- return c;
- }
- @Override
- public String getType(Uri uri) {
- return null;
- }
- @Override
- public Uri insert(Uri uri, ContentValues cv) {
- db = dbHelper.getWritableDatabase();
- db.insert(ProviderDatabase.TABLE_NAME, null, cv);
- db.close();
- return null;
- }
- @Override
- public int delete(Uri uri, String s, String[] strings) {
- return 0;
- }
- @Override
- public int update(Uri uri, ContentValues cv, String s, String[] strings) {
- return 0;
- }
- }
- ProviderDatabase.java
- package com.example.program4a;
- import android.content.Context;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- public class ProviderDatabase extends SQLiteOpenHelper {
- public static String DATABASE_NAME = "notes.db";
- public static String TABLE_NAME = "notes";
- public ProviderDatabase(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
- super(context, name, factory, version);
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("CREATE TABLE " + TABLE_NAME + " (date TEXT, note TEXT);");
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int i, int i1) {
- }
- }
- <provider
- android:authorities="com.example.notesprovider"
- android:name=".NotesProvider"
- android:exported="true"
- android:enabled="true"/>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement