অ্যান্ড্রয়েড ডাটাবেস অ্যাপ্লিকেশন সাড়া না

আমি টেক্সটফিল্ড মান ডাটাবেসের ডাটাবেস স্টোর করার জন্য একটি অ্যাপ্লিকেশন তৈরি করছি। এটি জমা দেওয়ার জন্য আমি বোতাম টিপে যখন মানগুলি লিখি তখন এটি শুধু ফাঁসিতে ঝুলিয়ে দেয় এবং কোন প্রতিক্রিয়া দেয় না।

আমার উপর ক্রেডিট কোড নীচে দেওয়া হল:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final DBAdapter db = new DBAdapter(this);

      //---add 2 titles---
        db.open();
        final long d_id ;  
        final EditText input1 = (EditText) findViewById(R.id.isbn);
        final String   isbn   = input1.getText().toString();

        final EditText input2 = (EditText) findViewById(R.id.titleText);
        final String   tText   = input2.getText().toString();

        final EditText input3 = (EditText) findViewById(R.id.publisherText);
        final String   pText   = input3.getText().toString();

        this.btn = (Button)this.findViewById(R.id.button1);
        this.btn.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v) {
                db.insertTitle(isbn, tText, pText);

            }
        });

         db.close();
    }

}

আইবিএন, শিরোনাম শিরোনাম এবং প্রকাশক পাঠ্য টেক্সটফিল্ডের জন্য আমার আইডি। insertTitle মানগুলি সন্নিবেশ করার জন্য ফাংশন।

আমার কোড সঙ্গে কি ভুল?

ধন্যবাদ।

0
onclick নিজেই (insertTitle এর আগে এবং পরে) ভিতরে db.open এবং db.close লিখুন।
যোগ লেখক Urban, উৎস

3 উত্তর

এটা চেষ্টা কর

    this.btn = (Button)this.findViewById(R.id.button1);
    this.btn.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v) {
final EditText input1 = (EditText) findViewById(R.id.isbn);
    final String   isbn   = input1.getText().toString();

    final EditText input2 = (EditText) findViewById(R.id.titleText);
    final String   tText   = input2.getText().toString();

    final EditText input3 = (EditText) findViewById(R.id.publisherText);
    final String   pText   = input3.getText().toString();

            db.insertTitle(isbn, tText, pText);

        }
    });
0
যোগ

আপনি আপনার টেক্সট ক্ষেত্রগুলির মানগুলি পড়ছেন যেমন অ্যাপ তৈরি হচ্ছে, না যখন বাটনটি ধাক্কা দেওয়া হয় আপনি আপনার বর্তমান কোডের সাথে আপনার EditTexts এর প্রাথমিক মানের সর্বদা প্রবেশ করবেন। এটা চেষ্টা কর:

db.insertTitle(input1.getText().toString(), input2.getText().toString(), input3.getText().toString());

আপনি আপনার ডাটাবেস বন্ধ যেখানে স্থানান্তর করতে হবে, অন্যথায় আপনি একটি বদ্ধ ডাটাবেস অ্যাক্সেস করার চেষ্টা করার জন্য একটি ত্রুটি পাবেন। এটি পজিশনে লাগান চেষ্টা করুন() বা ডাস্ট্রাই ()।

যদি এই সমাধান না হয় তবে দয়া করে আপনার লগcat ত্রুটিগুলি পোস্ট করুন তাই আমাদের যা ঘটছে তা অনুমান করতে হবে না।

0
যোগ
ধন্যবাদ এটা কাজ! :)
যোগ লেখক user1370786, উৎস

আমি মনে করি আপনার সমস্যাটি হল খুলুন() এবং বন্ধ() তারা onclick method তে অথবা আপনার insertTitle() পদ্ধতি আপনার মান এবং প্রকারগুলি পরীক্ষা করুন

    ContentValues cv = new ContentValues();
    cv.put(KEY_WORK_OUT, workout);
    cv.put(KEY_NAME, name);
    cv.put(KEY_REP,rep);
    cv.put(KEY_WEIGHT, weight);

    ourDataBase.insert(DATABASE_TABLE, null, cv);
0
যোগ