Implementing activity how to use methods in jar in android
i am creating own framework api (telephone services related api) i am creating one library app this library app to create myjar.jar i am developing another application just i am adding asset folder this myjar.jar and configure this jar adding buildpath in coding importing the package
this application run into real device:
MacTesting mp = new MacTesting();
mp.getMacAddress();
Log.v("1111","this is mac add"+ mp.getMacAddress());
result is null
public class MacIdTesting extends Activity implements Parcelable
{
    public static final String KEY_WIFI_MAC_ADDRESS = null;
    public  static final String READ_PHONE_STATE = null;
    /** Called when the activity is first created. */
       public String mMacAddress;
       public String phonenumber;
       void setMacAddress(String macAddress) {
           this.mMacAddress = macAddress;
       }
       public String getMacAddress() {
           return mMacAddress;
       }
       public String getLine1Number() 
       {
       ContextWrapper mContext = null;
       mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE");
           MacIdTesting mPhone = null;
        return mPhone.getLine1Number();
       }
      public void onCreate(Bundle savedInstanceState) 
      {
        super.onCreate(savedInstanceState);
        WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        WifiInfo wifiInfo = manager.getCo开发者_如何学CnnectionInfo();
        String MACAddress = wifiInfo.getMacAddress(); 
        System.out.println("macsddress "+MACAddress);
       }
    @Override
    public int describeContents()
    {
        // TODO Auto-generated method stub
        return 0;
    }
    @Override
    public void writeToParcel(Parcel dest, int flags)
    {
        // TODO Auto-generated method stub
        dest.writeString(mMacAddress);  
    }
}
see this screenshot

how can solve this problem
Your class is an activity and has onCreate method, but not a constructor.
I change the onCreate method to be a constructor like that (and remove the extends activity):
 public MacIdTesting(Context ctx) 
      {
        WifiManager manager = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
        WifiInfo wifiInfo = manager.getConnectionInfo();
        mMacAddress = wifiInfo.getMacAddress();
       }
And call it from the activity like that:
MacTesting mp = new MacTesting(this);
Also, I would keep private members instead of public (private String mMacAddress).
There are some issues:
- MacIdTestingis an Activity but you use it the- AndroidMacclass which is an Activity by itself. Therefore the lifecycle methods of- MacIdTestingwill not get called. You can for example- AndroidMaclet extend- MacIdTesting. Then you could call- getMacAddress().
- The code in - MacIdTestingis faulty: You are assigning the MAC address to some local variable and the field in the object never gets set.
- Before writing a library I would suggest to read more about the android lifecycle and possibly about Java. 
add
this.mMacAddress = MACAddress;
as the last line to the onCreate() method of MacTesting.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论