Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
使用共享首选项在android应用程序中存储pin_Android_Arrays_String_Sharedpreferences - Fatal编程技术网

使用共享首选项在android应用程序中存储pin

使用共享首选项在android应用程序中存储pin,android,arrays,string,sharedpreferences,Android,Arrays,String,Sharedpreferences,我尝试使用共享首选项存储pin,因为我有两个不同的活动,即EnterPin和ConfirmPin 对于EnterPin,我有 [开始代码] package com.example.textsmslock; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import android.app.Activity; import android.conte

我尝试使用共享首选项存储pin,因为我有两个不同的活动,即EnterPin和ConfirmPin

对于EnterPin,我有 [开始代码]

package com.example.textsmslock;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class EnterPin extends Activity {
public String[] pin = new String[4];
public Button[] buttons = new Button[10];
public int counter = 0;
public String FILENAME = "pin_file";
public static final String PinCode = "1234";

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_enter_pin);
    //getActionBar().setDisplayHomeAsUpEnabled(true);

    buttons[1] = (Button)findViewById(R.id.button1);
    buttons[2] = (Button)findViewById(R.id.button2);
    buttons[3] = (Button)findViewById(R.id.button3);
    buttons[4] = (Button)findViewById(R.id.button4);
    buttons[5] = (Button)findViewById(R.id.button5);
    buttons[6] = (Button)findViewById(R.id.button6);
    buttons[7] = (Button)findViewById(R.id.button7);
    buttons[8] = (Button)findViewById(R.id.button8);
    buttons[9] = (Button)findViewById(R.id.button9);
    buttons[0] = (Button)findViewById(R.id.button0);


    //Restore the preferences
    SharedPreferences settings = getSharedPreferences(PinCode, 0);


}
public void button1(View view)
{
    if(counter < 3)
    {
        pin[counter] = "1";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button2(View view)
{
    if(counter < 3)
    {
        pin[counter] = "2";
        counter++;
    }
    else
    {
        PinEntered();
    }
} 
public void button3(View view)
{
    if(counter < 3)
    {
        pin[counter] = "3";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button4(View view)
{
    if(counter < 3)
    {
        pin[counter] = "4";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button5(View view)
{
    if(counter < 3)
    {
        pin[counter] = "5";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button6(View view)
{
    if(counter < 3)
    {
        pin[counter] = "6";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button7(View view)
{
    if(counter < 3)
    {
        pin[counter] = "7";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button8(View view)
{
    if(counter < 3)
    {
        pin[counter] = "8";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button9(View view)
{
    if(counter < 3)
    {
        pin[counter] = "9";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button0(View view)
{
    if(counter < 3)
    {
        pin[counter] = "0";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void PinEntered()
{
if(counter == 3)
    {
        putString(pin,0);

    }
}
}
package com.example.textsmslock;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class ConfirmPin extends EnterPin {
public String[] pinconfirm = new String[4];
public Button[] buttons = new Button[10];
public int counter = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_confirm_pin);
    //getActionBar().setDisplayHomeAsUpEnabled(true);
    buttons[1] = (Button)findViewById(R.id.button1);
    buttons[2] = (Button)findViewById(R.id.button2);
    buttons[3] = (Button)findViewById(R.id.button3);
    buttons[4] = (Button)findViewById(R.id.button4);
    buttons[5] = (Button)findViewById(R.id.button5);
    buttons[6] = (Button)findViewById(R.id.button6);
    buttons[7] = (Button)findViewById(R.id.button7);
    buttons[8] = (Button)findViewById(R.id.button8);
    buttons[9] = (Button)findViewById(R.id.button9);
    buttons[0] = (Button)findViewById(R.id.button0);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_confirm_pin, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);
}
public void button1(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "1";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button2(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "2";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
} 
public void button3(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "3";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button4(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "4";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button5(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "5";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button6(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "6";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button7(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "7";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button8(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "8";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button9(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "9";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button0(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "0";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}

public void ConfirmingPin()
{
          SharedPreferences settings = getSharedPreferences(PinCode, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putString(pinconfirm, 0);

      editor.commit();
}
}
package com.example.textsmslock;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.OutputStreamWriter;
导入android.app.Activity;
导入android.content.Context;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.os.Bundle;
导入android.support.v4.app.NavUtils;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TextView;
公共类EnterPin扩展活动{
公共字符串[]pin=新字符串[4];
公共按钮[]按钮=新按钮[10];
公共整数计数器=0;
公共字符串FILENAME=“pin_文件”;
公共静态最终字符串PinCode=“1234”;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u enter\u pin);
//getActionBar().setDisplayHomeAsUpEnabled(true);
按钮[1]=(按钮)findViewById(R.id.button1);
按钮[2]=(按钮)findViewById(R.id.button2);
按钮[3]=(按钮)findViewById(R.id.button3);
按钮[4]=(按钮)findViewById(R.id.button4);
按钮[5]=(按钮)findViewById(R.id.button5);
按钮[6]=(按钮)findViewById(R.id.button6);
按钮[7]=(按钮)findViewById(R.id.button7);
按钮[8]=(按钮)findViewById(R.id.button8);
按钮[9]=(按钮)findViewById(R.id.button9);
按钮[0]=(按钮)findViewById(R.id.button0);
//恢复首选项
SharedReferences设置=GetSharedReferences(PinCode,0);
}
公共无效按钮1(视图)
{
如果(计数器<3)
{
引脚[计数器]=“1”;
计数器++;
}
其他的
{
中心位置();
}
}
公共无效按钮2(视图)
{
如果(计数器<3)
{
引脚[计数器]=“2”;
计数器++;
}
其他的
{
中心位置();
}
} 
公共作废按钮3(视图)
{
如果(计数器<3)
{
引脚[计数器]=“3”;
计数器++;
}
其他的
{
中心位置();
}
}
公共作废按钮4(视图)
{
如果(计数器<3)
{
引脚[计数器]=“4”;
计数器++;
}
其他的
{
中心位置();
}
}
公共作废按钮5(视图)
{
if(计数器<3)
{
引脚[计数器]=“5”;
计数器++;
}
其他的
{
中心位置();
}
}
公共作废按钮6(视图)
{
如果(计数器<3)
{
引脚[计数器]=“6”;
计数器++;
}
其他的
{
中心位置();
}
}
公共作废按钮7(视图)
{
如果(计数器<3)
{
引脚[计数器]=“7”;
计数器++;
}
其他的
{
中心位置();
}
}
公共作废按钮8(视图)
{
如果(计数器<3)
{
引脚[计数器]=“8”;
计数器++;
}
其他的
{
中心位置();
}
}
公共作废按钮9(视图)
{
如果(计数器<3)
{
引脚[计数器]=“9”;
计数器++;
}
其他的
{
中心位置();
}
}
公共无效按钮0(视图)
{
如果(计数器<3)
{
引脚[计数器]=“0”;
计数器++;
}
其他的
{
中心位置();
}
}
公共空间中心()
{
如果(计数器==3)
{
putString(pin,0);
}
}
}
[结束代码]

我要确认一下 [开始代码]

package com.example.textsmslock;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class EnterPin extends Activity {
public String[] pin = new String[4];
public Button[] buttons = new Button[10];
public int counter = 0;
public String FILENAME = "pin_file";
public static final String PinCode = "1234";

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_enter_pin);
    //getActionBar().setDisplayHomeAsUpEnabled(true);

    buttons[1] = (Button)findViewById(R.id.button1);
    buttons[2] = (Button)findViewById(R.id.button2);
    buttons[3] = (Button)findViewById(R.id.button3);
    buttons[4] = (Button)findViewById(R.id.button4);
    buttons[5] = (Button)findViewById(R.id.button5);
    buttons[6] = (Button)findViewById(R.id.button6);
    buttons[7] = (Button)findViewById(R.id.button7);
    buttons[8] = (Button)findViewById(R.id.button8);
    buttons[9] = (Button)findViewById(R.id.button9);
    buttons[0] = (Button)findViewById(R.id.button0);


    //Restore the preferences
    SharedPreferences settings = getSharedPreferences(PinCode, 0);


}
public void button1(View view)
{
    if(counter < 3)
    {
        pin[counter] = "1";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button2(View view)
{
    if(counter < 3)
    {
        pin[counter] = "2";
        counter++;
    }
    else
    {
        PinEntered();
    }
} 
public void button3(View view)
{
    if(counter < 3)
    {
        pin[counter] = "3";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button4(View view)
{
    if(counter < 3)
    {
        pin[counter] = "4";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button5(View view)
{
    if(counter < 3)
    {
        pin[counter] = "5";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button6(View view)
{
    if(counter < 3)
    {
        pin[counter] = "6";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button7(View view)
{
    if(counter < 3)
    {
        pin[counter] = "7";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button8(View view)
{
    if(counter < 3)
    {
        pin[counter] = "8";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button9(View view)
{
    if(counter < 3)
    {
        pin[counter] = "9";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void button0(View view)
{
    if(counter < 3)
    {
        pin[counter] = "0";
        counter++;
    }
    else
    {
        PinEntered();
    }
}
public void PinEntered()
{
if(counter == 3)
    {
        putString(pin,0);

    }
}
}
package com.example.textsmslock;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class ConfirmPin extends EnterPin {
public String[] pinconfirm = new String[4];
public Button[] buttons = new Button[10];
public int counter = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_confirm_pin);
    //getActionBar().setDisplayHomeAsUpEnabled(true);
    buttons[1] = (Button)findViewById(R.id.button1);
    buttons[2] = (Button)findViewById(R.id.button2);
    buttons[3] = (Button)findViewById(R.id.button3);
    buttons[4] = (Button)findViewById(R.id.button4);
    buttons[5] = (Button)findViewById(R.id.button5);
    buttons[6] = (Button)findViewById(R.id.button6);
    buttons[7] = (Button)findViewById(R.id.button7);
    buttons[8] = (Button)findViewById(R.id.button8);
    buttons[9] = (Button)findViewById(R.id.button9);
    buttons[0] = (Button)findViewById(R.id.button0);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_confirm_pin, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);
}
public void button1(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "1";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button2(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "2";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
} 
public void button3(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "3";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button4(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "4";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button5(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "5";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button6(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "6";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button7(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "7";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button8(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "8";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button9(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "9";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}
public void button0(View view)
{
    if(counter < 3)
    {
        pinconfirm[counter] = "0";
        counter++;
    }
    else
    {
        ConfirmingPin();
    }
}

public void ConfirmingPin()
{
          SharedPreferences settings = getSharedPreferences(PinCode, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putString(pinconfirm, 0);

      editor.commit();
}
}
package com.example.textsmslock;
导入java.io.BufferedReader;
导入java.io.FileInputStream;
导入java.io.FileNotFoundException;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.util.ArrayList;
导入java.util.List;
导入android.os.Bundle;
导入android.content.Context;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TextView;
导入android.support.v4.app.NavUtils;
公共类ConfirmPin扩展了EnterPin{
公共字符串[]pinconfirm=新字符串[4];
公共按钮[]按钮=新按钮[10];
公共整数计数器=0;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u confirm\u pin);
//getActionBar().setDisplayHomeAsUpEnabled(true);
按钮[1]=(按钮)findViewById(R.id.button1);
按钮[2]=(按钮)findViewById(R.id.button2);
按钮[3]=(按钮)findViewById(R.id.button3);
按钮[4]=(按钮)findViewById(R.id.button4);
按钮[5]=(按钮)findViewById(R.id.button5);
按钮[6]=(按钮)findViewById(R.id.button6);
按钮[7]=(按钮)findViewById(R.id.button7);
按钮[8]=(按钮)findViewById(R.id.button8);
按钮[9]=(按钮)findViewById(R.id.button9);
按钮[0]=(按钮)findViewById(R.id.button0);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.activity\u confirm\u pin,menu);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例android.R.id.home:
NavUtils.navigateUpFromSameTask(本);
返回true;
}
返回super.onOptionsItemSelected(项目);
}
公共无效按钮1(视图)
{
如果(计数器<3)
{
pinconfirm[计数器]=“1”;
计数器++;
}
其他的
{
确认蛋白();
}
}
公共无效按钮2(视图)
{
如果(计数器<3)
{
pinconfirm[计数器]=“2”;
计数器++;
}
其他的
{
确认蛋白();
}
} 
公共作废按钮3(视图)
{
如果(计数器<3)
{
pinconfirm[计数器]=“3”;
计数器++;
}
其他的
{
确认蛋白();
}
}
公共作废按钮4(视图)
{
如果(计数器<3)
{
pinconfirm[计数器]=“4”;
计数器++;
}
其他的
String[] pinconfirm= pinconfirms.split(",");