如何在android中获取用户名

时间:2015-02-07 10:22:37

标签: android

嗨,在下面的代码中如何获取imservice.getusername()。但是,它给出了以下错误。我想要用户名,我正在写这个code.imservice.getusername()这个相同像我正在访问它正在使用的用户名。但是在这个课程中它没有用。

任何人都可以在我错误的地方帮助我。

** FriendList **

public class FriendList extends ListActivity 
{
    private static final int ADD_NEW_FRIEND_ID = Menu.FIRST;
    private static final int CREATE_GROUP_ID = Menu.FIRST+1;
    private static final int EXIT_APP_ID = Menu.FIRST + 2;
    private IAppManager imService = null;
    private FriendListAdapter friendAdapter;

    public String ownusername = new String();

    private class FriendListAdapter extends BaseAdapter 
    {       
        class ViewHolder {
            TextView text,text1;

            ImageView icon;
        }
        private LayoutInflater mInflater;
        private Bitmap mOnlineIcon;
        private Bitmap mOfflineIcon;        

        private FriendInfo[] friends = null;


        public FriendListAdapter(Context context) {
            super();            

            mInflater = LayoutInflater.from(context);

            mOnlineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.greenstar);
            mOfflineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.redstar);

        }

        public void setFriendList(FriendInfo[] friends)
        {
            this.friends = friends;
            }


        public int getCount() {     

            return friends.length;
        }


        public FriendInfo getItem(int position) {           

            return friends[position];
        }

        public long getItemId(int position) {

            return 0;
        }

        public View getView(int position, View convertView, ViewGroup parent) {

            ViewHolder holder;


            if (convertView == null) 
            {
                convertView = mInflater.inflate(R.layout.friend_list_screen, null);


                holder = new ViewHolder();
                holder.text1=(TextView)convertView.findViewById(R.id.text1);
                holder.text = (TextView) convertView.findViewById(R.id.text);

                holder.icon = (ImageView) convertView.findViewById(R.id.icon);                                       

                convertView.setTag(holder);
            }   
            else {

                holder = (ViewHolder) convertView.getTag();
            }


            holder.text.setText(friends[position].userName);
            holder.text1.setText(friends[position].groupName);
            holder.icon.setImageBitmap(friends[position].status == STATUS.ONLINE ? mOnlineIcon : mOfflineIcon);

            return convertView;
        }

    }
protected void onCreate(Bundle savedInstanceState) 
    {       
        super.onCreate(savedInstanceState);

        setContentView(R.layout.list_screen);

        friendAdapter = new FriendListAdapter(this);
         try {
        String result1 = imService.DispalyGroupDetails(imService.getUsername());
            System.out.println(result1);
        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();
        }



    }

logcat的

02-07 05:17:54.526: E/AndroidRuntime(3081): FATAL EXCEPTION: main
02-07 05:17:54.526: E/AndroidRuntime(3081): Process: at.vcity.androidim, PID: 3081
02-07 05:17:54.526: E/AndroidRuntime(3081): java.lang.RuntimeException: Unable to start activity ComponentInfo{at.vcity.androidim/at.vcity.androidim.FriendList}: java.lang.NullPointerException
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.os.Handler.dispatchMessage(Handler.java:102)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.os.Looper.loop(Looper.java:136)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.ActivityThread.main(ActivityThread.java:5017)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at java.lang.reflect.Method.invokeNative(Native Method)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at java.lang.reflect.Method.invoke(Method.java:515)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at dalvik.system.NativeStart.main(Native Method)
02-07 05:17:54.526: E/AndroidRuntime(3081): Caused by: java.lang.NullPointerException
02-07 05:17:54.526: E/AndroidRuntime(3081):     at at.vcity.androidim.FriendList.onCreate(FriendList.java:178)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.Activity.performCreate(Activity.java:5231)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
02-07 05:17:54.526: E/AndroidRuntime(3081):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
02-07 05:17:54.526: E/AndroidRuntime(3081):     ... 11 more

** GroupList **

public class GroupList extends ListActivity 
{

    boolean[] checkBoxState;
    boolean isChecked;
    String check;
    ListView users;
    int position;
    private IAppManager imService = null;
    ArrayList<FriendInfo> result = new ArrayList<FriendInfo>();
    private FriendListAdapter friendAdapter;

    public String ownusername = new String();

    private class FriendListAdapter extends BaseAdapter 
    {   
        @SuppressWarnings("unused")

        class ViewHolder {
            TextView text;
            ImageView icon;
            CheckBox check1;



        }

        private LayoutInflater mInflater;
        private Bitmap mOnlineIcon;
        private Bitmap mOfflineIcon;        

        private FriendInfo[] friend = null;





        public FriendListAdapter(Context context) {
            super();            

            mInflater = LayoutInflater.from(context);

            mOnlineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.greenstar);
            mOfflineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.redstar);

        }

        public void setFriendList(FriendInfo[] friends)
        {
            this.friend = friends;

        }


        public int getCount() {     

            return friend.length;
        }


        public FriendInfo getItem(int position) {           

            return friend[position];
        }

        public long getItemId(int position) {

            return 0;
        }

        @SuppressWarnings("unused")
        public View getView(final int position, View convertView, ViewGroup parent) {

            final ViewHolder holder;


            if (convertView == null) 
            {
                convertView = mInflater.inflate(R.layout.grouplist, null);


                holder = new ViewHolder();

                holder.text = (TextView) convertView.findViewById(R.id.text);
                holder.icon = (ImageView) convertView.findViewById(R.id.icon);
                holder.check1 = (CheckBox)convertView.findViewById(R.id.checkBox1);

                convertView.setTag(holder);

            }           

            else {

                holder = (ViewHolder) convertView.getTag();

            }


            holder.text.setText(friend[position].userName);
            holder.icon.setImageBitmap(friend[position].status == STATUS.ONLINE ? mOnlineIcon : mOfflineIcon);

            final ArrayList<String> checkedFriends = new ArrayList<String>();
            checkBoxState = new boolean[friend.length];
            holder.check1.setChecked(checkBoxState[position]);
            holder.check1.setOnCheckedChangeListener(new OnCheckedChangeListener(){

                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    checkBoxState[position]=isChecked;

                    if(isChecked){

                       check=friend[position].userName;

                    } 

                }
            });


            return convertView;
        }
protected void onCreate(Bundle savedInstanceState){       
        super.onCreate(savedInstanceState);

        if (android.os.Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
            .permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }
        setContentView(R.layout.group_list_screen);

        Button create=(Button)findViewById(R.id.create);


        friendAdapter = new FriendListAdapter(this); 


        friendAdapter.getCheckedItems();
        create.setOnClickListener(new OnClickListener() {

            @SuppressWarnings({ "unused", "unchecked" })
            @Override
            public void onClick(View v) {
                String groupname = getIntent().getStringExtra("nick");

                            try {



                                String result1 = imService.CreateGroup(groupname,imService.getUsername(),friendAdapter.getCheckedItems());
                            } catch (UnsupportedEncodingException e) {

                                e.printStackTrace();
                            }



                Toast.makeText(getApplicationContext(), "Group Created Sucessfully",Toast.LENGTH_LONG).show();

            }
        });    

    }

1 个答案:

答案 0 :(得分:0)

看起来你没有imService实例化,所以每次在imService上调用getter方法时,你都会得到空指针异常。