2016-08-11 13 views
0

Oracle接続を作成しようとしています。しかし、このNullPointerExceptionは本当に私の邪魔になっています。
ご了承ください。
間違いや間違いをお手伝いします。NullPointerException in code

これは、ここに私のコードです:

public class MainActivity extends AppCompatActivity { 

public Button btn_connection; 
public TextView tv; 
public OracleConnection oc; 
public String Result; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    tv = (TextView) findViewById(R.id.textView); 
    try { 

     btn_connection = (Button) findViewById(R.id.connectionAttempt); 
     btn_connection.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Result = oc.ConnectionMade(); 
       tv.setText(Result); 
      } 
     }); 

    } 
    catch(NullPointerException e) { 
     tv.setText("Doll"); 

    } 

} 



} 

主な活動のレイアウト:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.tahir.onlineshopping12.MainActivity"> 


<TextView 
    android:id="@+id/textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="65dp" /> 

<Button 
    android:id="@+id/connectionAttempt" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:text="Connect" /> 

のOracleConnectionクラス:

public class OracleConnection { 



public String ConnectionMade(){ 
     try { 
      Class.forName("oracle.jdbc.OracleDriver"); 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 

     Connection co = null; 
     String Result = " "; 

     try{ 
      co = DriverManager.getConnection(ipAddress,user,pass); 
      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
      Result = "Successfully Connected"; 


     } catch (SQLException e) { 

      Result = "Not Connected!!!!!!!!!" + e.toString(); 
     } 


    return Result; 

} 

これは誤りである

android.view.View.performClick(View.java:4461)でcom.example.tahir.onlineshopping12.MainActivity $ 1.onClick(MainActivity.java:28) でjava.lang.NullPointerExceptionが でandroid.view.View $ PerformClick.run(View.java:18514) (android.os.Handler.handleCallback(Handler.java:733)) (android.os.Handler.dispatchMessage(Handler.java:95) )にあります。 android.os.Looper.loop(Looper.java:136) android.app.ActivityThread.main(ActivityThread.java:5129) のjava.lang.reflect.Method.invokeNative(ネイティブメソッド) java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit .javaファイル:790)dalvik.system.NativeStart.main(ネイティブメソッド)でcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:606) で

+4

を持ちません。 – SripadRaj

答えて

3

あなたはクラス変数を宣言します。

public OracleConnection oc;

インスタンス化せずに、それを使用しようとしました。

Result = oc.ConnectionMade();

0

チェックこのライン結果あなたがあなたの活動にご `OracleConnection`のクラス変数を初期化しなかった何の価値

Result = oc.ConnectionMade();