Android关于findViewById记录

其实对于view的初始化有其他的很多适合的写法,比如黄油刀,但是个人并不是太喜欢这些东西,findViewById还是最让我觉得舒服和清晰的写法,但是有时候确实会觉得烦,所以我基本上都会在BaseActivity上加入

 protected <T> T find(int viewId) {
        return (T) findViewById(viewId);
    }

在BaseFragment上加入

protected <T> T find(int viewId) {
        return (T) getView().findViewById(viewId);
    }

记录一下,免得遗忘,方法名自行修改,怎么舒服怎么来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于Android的轨迹记录的简单示例代码: 1. 在AndroidManifest.xml文件添加以下权限: ``` <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ``` 2. 创建一个名为MainActivity的Activity类,并在onCreate方法设置以下内容: ``` public class MainActivity extends AppCompatActivity implements LocationListener { private LocationManager locationManager; private String provider; private TextView latituteField; private TextView longitudeField; private Button startButton; private Button stopButton; private File trackFile; private FileWriter trackWriter; private boolean isRecording; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); latituteField = (TextView) findViewById(R.id.latitudeTextView); longitudeField = (TextView) findViewById(R.id.longitudeTextView); startButton = (Button) findViewById(R.id.startButton); stopButton = (Button) findViewById(R.id.stopButton); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); provider = locationManager.getBestProvider(criteria, false); startButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!isRecording) { try { trackFile = new File(Environment.getExternalStorageDirectory(), "track.txt"); trackWriter = new FileWriter(trackFile); locationManager.requestLocationUpdates(provider, 400, 1, MainActivity.this); isRecording = true; startButton.setText("Stop"); } catch (IOException e) { e.printStackTrace(); } } else { locationManager.removeUpdates(MainActivity.this); try { trackWriter.close(); isRecording = false; startButton.setText("Start"); } catch (IOException e) { e.printStackTrace(); } } } }); } @Override public void onLocationChanged(Location location) { double lat = location.getLatitude(); double lng = location.getLongitude(); latituteField.setText(String.valueOf(lat)); longitudeField.setText(String.valueOf(lng)); if (isRecording) { try { trackWriter.write(lat + "," + lng + "\n"); trackWriter.flush(); } catch (IOException e) { e.printStackTrace(); } } } @Override public void onStatusChanged(String provider, int status, Bundle extras) {} @Override public void onProviderEnabled(String provider) {} @Override public void onProviderDisabled(String provider) {} } ``` 3. 在活动布局文件activity_main.xml添加以下内容: ``` <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Latitude:" /> <TextView android:id="@+id/latitudeTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Longitude:" /> <TextView android:id="@+id/longitudeTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/startButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Start" /> <Button android:id="@+id/stopButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Stop" android:visibility="gone" /> ``` 这个示例代码,我们在MainActivity的onCreate方法获取了设备的最佳位置提供者,并且在按钮点击事件启动和停止位置更新。同时,当位置更新时,我们将经纬度显示在TextView,并且记录轨迹到名为track.txt的文件。请注意,本示例代码,我们只记录了经纬度信息,您可以根据需要添加其他信息。 希望这个简单的示例代码能够帮助您了解如何在Android应用程序记录轨迹。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值