Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android studio中使用内容提供程序插入数据_Java_Android - Fatal编程技术网

Java 在android studio中使用内容提供程序插入数据

Java 在android studio中使用内容提供程序插入数据,java,android,Java,Android,我正在尝试编写一个程序CFM.java,使用android studio的内容提供商将数据插入产品表。 但在点击添加按钮将记录添加到数据库后,应用程序崩溃。 我解决不了这个问题。 我们衷心感谢您的帮助 MyContentProvider.java ` } 单击添加按钮时堆叠跟踪 Caused by: android.database.SQLException: RECORD NOT ADDED INTOcontent://com.example.cfm.MyContentProvider/foo

我正在尝试编写一个程序CFM.java,使用android studio的内容提供商将数据插入产品表。 但在点击添加按钮将记录添加到数据库后,应用程序崩溃。 我解决不了这个问题。 我们衷心感谢您的帮助

MyContentProvider.java `

}

单击添加按钮时堆叠跟踪

Caused by: android.database.SQLException: RECORD NOT ADDED INTOcontent://com.example.cfm.MyContentProvider/food_products
    at com.example.cfm.MyContentProvider.insert(MyContentProvider.java:76)
    at android.content.ContentProvider.insert(ContentProvider.java:1673)
    at android.content.ContentProvider$Transport.insert(ContentProvider.java:336)
    at android.content.ContentResolver.insert(ContentResolver.java:2149)
    at android.content.ContentResolver.insert(ContentResolver.java:2111)
    at com.example.cfm.MainActivity.onClickAddName(MainActivity.java:39)
    at java.lang.reflect.Method.invoke(Native Method) 
    at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:409) 
    at android.view.View.performClick(View.java:7448) 
    at android.view.View.performClickInternal(View.java:7425) 
    at android.view.View.access$3600(View.java:810) 
    at android.view.View$PerformClick.run(View.java:28296) 
    at android.os.Handler.handleCallback(Handler.java:938) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:223) 
    at android.app.ActivityThread.main(ActivityThread.java:7656) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 

请提供崩溃的堆栈跟踪。请提供崩溃的堆栈跟踪。
package com.example.cfm;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentValues;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


    Button add;
    EditText Name;
    EditText Cost;
    EditText No;
    TextView seeProduct;
    TextView seeCost;
    TextView seeNo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        add = findViewById(R.id.btnAdd);
        Name = findViewById(R.id.editText1);
        No = findViewById(R.id.editText2);
        Cost = findViewById(R.id.editText3);
        seeProduct = findViewById(R.id.product);
        seeCost = findViewById(R.id.cost);
        seeNo = findViewById(R.id.no);


    }

    public void onClickAddName(View view) {


                 ContentValues values = new ContentValues();
                 values.put(MyContentProvider.NAME, (Name).getText().toString());

                 values.put(MyContentProvider.NOOFITEMS, (No).getText().toString());

                 values.put(MyContentProvider.COSTPERITEM, (Cost).getText().toString());

                 Uri uri = getContentResolver().insert(MyContentProvider.CONTENT_URI, values);
                 //Name.setText("");
                  assert uri != null;
                 Toast.makeText(getBaseContext(),uri.toString(), Toast.LENGTH_LONG).show();

        }
Caused by: android.database.SQLException: RECORD NOT ADDED INTOcontent://com.example.cfm.MyContentProvider/food_products
    at com.example.cfm.MyContentProvider.insert(MyContentProvider.java:76)
    at android.content.ContentProvider.insert(ContentProvider.java:1673)
    at android.content.ContentProvider$Transport.insert(ContentProvider.java:336)
    at android.content.ContentResolver.insert(ContentResolver.java:2149)
    at android.content.ContentResolver.insert(ContentResolver.java:2111)
    at com.example.cfm.MainActivity.onClickAddName(MainActivity.java:39)
    at java.lang.reflect.Method.invoke(Native Method) 
    at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:409) 
    at android.view.View.performClick(View.java:7448) 
    at android.view.View.performClickInternal(View.java:7425) 
    at android.view.View.access$3600(View.java:810) 
    at android.view.View$PerformClick.run(View.java:28296) 
    at android.os.Handler.handleCallback(Handler.java:938) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:223) 
    at android.app.ActivityThread.main(ActivityThread.java:7656) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)