文章编号:732时间:2024-02-18人气:
在安卓系统开发中,数据管理是至关重要的一环。安卓系统作为一种移动操作系统,用户数据的管理涉及到数据的存储、传输、处理等方方面面。在文章中,我们将全面解析安卓系统开发中的数据管理方法。
安卓系统中常用的数据管理方法之一是SQLite数据库。SQLite是一种轻量级的关系数据库管理系统,广泛应用于安卓应用程序的数据存储。开发者可以通过SQLiteOpenHelper等类来创建和管理SQLite数据库,实现数据的存储和检索。SQLite数据库支持事务处理,提供了可靠的数据保护机制,适用于大多数安卓应用程序的数据管理需求。
除了SQLite数据库外,安卓系统还提供了SharedPreferences机制来进行简单的数据管理。SharedPreferences是一种轻量级的键值对存储方式,适用于一些简单的配置数据的存储。开发者可以通过SharedPreferences对象来读写数据,实现数据的持久化和共享。但是,SharedPreferences适用范围较窄,对于复杂的数据管理需求并不是最佳选择。
安卓系统还支持使用文件来进行数据管理。开发者可以通过File类操作文件,实现数据的读写和管理。文件存储适用于一些大容量的数据或者特殊格式的数据。但是需要注意的是,文件操作相对复杂,需要处理IO异常等情况,并且安全性也相对较低。
在安卓系统开发中,数据管理方法的选择取决于具体的应用场景和需求。开发者需要根据数据的特性和规模选择合适的数据管理方法,以保障数据的安全性和高效性。综合考虑SQLite数据库、SharedPreferences和文件操作等方法的优缺点,可以根据实际情况进行灵活应用。
安卓系统还提供了ContentProvider机制来实现数据共享和访问控制。通过ContentProvider,应用程序之间可以共享数据,实现数据的共享和协同处理。ContentProvider提供了统一的数据访问接口,可以对外提供数据的读写权限控制,保障数据的安全性和隐私性。
安卓系统开发中的数据管理是一个复杂而重要的环节,涉及到数据的存储、传输、处理等多个方面。开发者需要结合具体的应用需求和数据特性,选择合适的数据管理方法,并加强对数据安全和隐私的保护。通过合理应用SQLite数据库、SharedPreferences、文件操作和ContentProvider等方法,可以实现高效可靠的数据管理,为安卓应用程序的稳定运行提供保障。
Android系统中的数据存储有哪些方式?Android是目前全球使用最广泛的移动操作系统之一,其强大的数据存储机制使得开发者可以轻松地将用户数据保存在设备中,以便应用程序随时可以读取和写入。 那么在Android中,数据存储又有哪些方式呢?是Android中用于保存轻量级键值对数据的工具,可以用于保存用户的首选项设置、登录信息、应用程序配置等需求。 它基于XML文件实现,可以实现快速的读写操作,适合存储一些简单的数据。 数据库SQLite是一种轻型数据库,常用于在移动设备中存储结构化数据,包括用户账户信息、联系人、消息记录、日历等。 SQLite数据库内置于Android系统中,提供了大量的API接口,使得开发人员可以轻松地进行数据的存储和访问。 3.文件存储Android提供了一种基于文件的数据存储方法,可以将数据保存在设备的内置存储器或外部存储器上,以文件形式进行存储。 此种方式适用于存储一些非结构化数据,例如图片、音频、视频等。 是一种实现Android数据共享的机制,允许不同应用程序之间共享数据。 也可以在多个组件之间共享数据,例如在Activity和Service之间共享数据。 ContentProvider通常用于存储非常重要的数据,例如联系人信息、日历事件、媒体文件等。 是Google在Android平台上为开发人员提供的一种轻量级、简洁的ORM框架,用于管理SQLite数据库中的结构化数据。 Room库简化了Android应用程序中数据的处理,从而使得开发人员可以轻松地进行安全、一致和高效的数据存储操作。 综上所述,Android提供了多种数据存储方式,开发人员可以根据需求进行选择,例如SharedPreferences适用于存储轻量级的数据,SQLite数据库适用于存储结构化数据,文件存储适用于存储大型媒体文件,ContentProvider适用于实现共享数据,而RoomPersistenceLibrary则是一种简便的ORM框架,适用于管理SQLite数据库中的结构化数据。 选择合适的数据存储方式可以更好地管理和维护Android应用程序中的数据。
Android系统中的SQLite数据库是如何使用的?SQLite数据库是Android系统中最常用的数据库,它可以方便地存储和管理数据,使得开发者可以轻松地在应用程序中实现数据持久化。 本文将介绍Android系统中如何使用SQLite数据库。 1.创建SQLite数据库要使用SQLite数据库,首先需要创建一个数据库。 可以使用SQLiteOpenHelper来创建数据库。 SQLiteOpenHelper是一个抽象类,它提供了四个方法:onCreate:当数据库第一次创建时调用。 在这个方法中,开发者可以执行创建表等操作。 onUpgrade:当数据库升级时调用。 在这个方法中,开发者可以执行更改表结构等操作。 onOpen:当数据库被打开时调用。 getWritableDatabase和getReadableDatabase:分别返回可读写和只读的SQLiteDatabase对象。 2.执行SQL操作可以使用SQLiteDatabase对象来执行SQL操作。 可以执行一些简单的SQL操作,例如插入、更新、删除和查询等。 插入数据:SQLiteDatabasedb=();ContentValuesvalues=newContentValues();(name,张三);(user,null,values);更新数据:SQLiteDatabasedb=();ContentValuesvalues=newContentValues();(name,李四);(user,values,id=?,newString[]{(1)});删除数据:SQLiteDatabasedb=();(user,id=?,newString[]{(1)});查询数据:SQLiteDatabasedb=();Cursorcursor=(user,null,null,null,null,null,null);while(()){intid=((id));Stringname=((name));}3.使用ContentProvider管理数据在Android系统中,ContentProvider是一个重要的组件,可以用来管理数据。 可以通过ContentProvider让其他应用程序访问应用程序的数据。 要创建ContentProvider,需要继承ContentProvider类,并实现query、insert、update和delete方法。 在这些方法中,开发者可以执行查询、插入、更新和删除操作。 总结:使用SQLite数据库要分为三步:创建数据库、执行SQL操作和使用ContentProvider管理数据。 SQLite数据库是Android系统中最常用的数据库之一,它是一个轻量级的数据库,非常适合在移动设备上使用。 开发者可以使用SQLite数据库来存储用户数据、缓存数据等。 使用SQLite数据库可以帮助开发者轻松地实现数据持久化,提高应用程序的稳定性和效率。
数据库支持每个应用程序无论大小的生命线,除非你的应用程序只处理简单的数据,那么就需要一个数据库系统存储你的结构化数据,Android使用SQLite数据库,它是一个开源的、支持多操作系统的SQL数据库,在许多领域广泛使用,如Mozilla FireFox就是使用SQLite来存储配置数据的,iPhone也是使用SQLite来存储数据的。 在Android中,你为某个应用程序创建的数据库,只有它可以访问,其它应用程序是不能访问的,数据库位于Android设备/data/data/ /databases文件夹中,在这篇文章中,你将会学习到如何在Android中创建和使用数据库。 SQLite数据库使用Eclipse创建一个Android项目,取名为Database,如图1所示:创建DBAdapter辅助类操作数据库的最佳实践是创建一个辅助类,由它封装所有对数据库的复杂访问,对于调用代码而言它是透明的,因此我创建了一个DBAdapter的辅助类,由它创建、打开、关闭和使用SQLite数据库。 首先,在src/ 文件夹(在这个例子中是src/)下添加一个文件。 在文件中,导入所有你要使用到的命名空间:package ;import ;import ;import ;import ;import ;import ;import ;public class DBAdapter{}接下来创建一个数据库,取名为bookstitles,字段如图2所示。 在文件中,定义清单1中的常量。 清单1 定义文件中的常量package ;import ;import ;import ;import ;import ;import ;import ;public class DBAdapter{public static final String KEY_ROWID = _id;public static final String KEY_ISBN = isbn;public static final String KEY_TITLE = title;public static final String KEY_PUBLISHER = publisher;private static final String TAG = DBAdapter;private static final String DATABASE_NAME = books;private static final String DATABASE_TABLE = titles;private static final int DATABASE_VERSION = 1;private static final String DATABASE_CREATE =create table titles (_id integer primary key autoincrement,+ isbn text not null, title text not null,+ publisher text not null);;private final Context context;}DATABASE_CREATE常量包括创建titles表的SQL语句。 在DBAdapter类中,你可以扩展SQLiteOpenHelper类,它是一个Android辅助类,主要用于数据库创建和版本管理。 实际上,你可以覆盖onCreate()和onUpgrade()方法,如清单2所示。 清单2 在DBAdapter类中,扩展SQLiteOpenHelper类覆盖onCreate() 和 onUpgrade()方法package ;import ;import ;import ;import ;import ;import ;import ;public class DBAdapter{public static final String KEY_ROWID = _id;public static final String KEY_ISBN = isbn;public static final String KEY_TITLE = title;public static final String KEY_PUBLISHER = publisher;private static final String TAG = DBAdapter;private static final String DATABASE_NAME = books;private static final String DATABASE_TABLE = titles;private static final int DATABASE_VERSION = 1;private static final String DATABASE_CREATE =create table titles (_id integer primary key autoincrement,+ isbn text not null, title text not null,+ publisher text not null);;private final Context context;private DatabaseHelper DBHelper;private SQLiteDatabase db;public DBAdapter(Context ctx){ = ctx;DBHelper = new DatabaseHelper(context);}private static class DatabaseHelper extends SQLiteOpenHelper{DatabaseHelper(Context context){super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db){(DATABASE_CREATE);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion){Log.w(TAG, Upgrading database from version + oldVersion+ to+ newVersion + , which will destroy all old data);(DROP TABLE IF EXISTS titles);onCreate(db);}}}onCreate()方法创建一个新的数据库,onUpgrade()方法用于升级数据库,这可以通过检查DATABASE_VERSION常量定义的值来实现,对于onUpgrade()方法而言,只不过是简单地删除表,然后在创建表而已。 #p#副标题#e#现在你可以定义不同的方法来打开和关闭数据库,如清单3中的添加/编辑/删除/行的函数。 清单3 定义打开和关闭数据库以及增加/编辑/删除表中行的方法public class DBAdapter{//...//...//---打开数据库---public DBAdapter open() throws SQLException{db = ();return this;}//---关闭数据库---public void close(){();}//---向数据库插入一个标题---public long insertTitle(String isbn, String title, String publisher){ContentValues initialValues = new ContentValues();(KEY_ISBN, isbn);(KEY_TITLE, title);(KEY_PUBLISHER, publisher);return (DATABASE_TABLE, null, initialValues);}//---删除一个指定的标题---public boolean deleteTitle(long rowId){return (DATABASE_TABLE, KEY_ROWID + = + rowId, null)0;}//---检索所有标题---public Cursor getAllTitles(){return (DATABASE_TABLE, new String[] {KEY_ROWID,KEY_ISBN,KEY_TITLE,KEY_PUBLISHER},null,null,null,null,null);}//---检索一个指定的标题---public Cursor getTitle(long rowId) throws SQLException{Cursor mCursor =(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_ISBN,KEY_TITLE,KEY_PUBLISHER},KEY_ROWID + = + rowId,null,null,null,null,null);if (mCursor != null) {();}return mCursor;}//---更新一个标题---public boolean updateTitle(long rowId, String isbn,String title, String publisher){ContentValues args = new ContentValues();(KEY_ISBN, isbn);(KEY_TITLE, title);(KEY_PUBLISHER, publisher);return (DATABASE_TABLE, args,KEY_ROWID + = + rowId, null)0;}}Database;import ;import ;import ;import ;import ;import ;import ;public class DBAdapter{public static final String KEY_ROWID = _id;public static final String KEY_ISBN = isbn;public static final String KEY_TITLE = title;public static final String KEY_PUBLISHER = publisher;private static final String TAG = DBAdapter;private static final String DATABASE_NAME = books;private static final String DATABASE_TABLE = titles;private static final int DATABASE_VERSION = 1;private static final String DATABASE_CREATE =create table titles (_id integer primary key autoincrement,+ isbn text not null, title text not null,+ publisher text not null);;private final Context context;private DatabaseHelper DBHelper;private SQLiteDatabase db;public DBAdapter(Context ctx){ = ctx;DBHelper = new DatabaseHelper(context);}private static class DatabaseHelper extends SQLiteOpenHelper{DatabaseHelper(Context context){super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db){(DATABASE_CREATE);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion){Log.w(TAG, Upgrading database from version + oldVersion+ to+ newVersion + , which will destroy all old data);(DROP TABLE IF EXISTS titles);onCreate(db);}}//---打开数据库---public DBAdapter open() throws SQLException{db = ();return this;}//---关闭数据库---public void close(){();}//---向数据库中插入一个标题---public long insertTitle(String isbn, String title, String publisher){ContentValues initialValues = new ContentValues();(KEY_ISBN, isbn);(KEY_TITLE, title);(KEY_PUBLISHER, publisher);return (DATABASE_TABLE, null, initialValues);}//---删除一个指定标题---public boolean deleteTitle(long rowId){return (DATABASE_TABLE, KEY_ROWID += + rowId, null)0;}//---检索所有标题---public Cursor getAllTitles(){return (DATABASE_TABLE, new String[] {KEY_ROWID,KEY_ISBN,KEY_TITLE,KEY_PUBLISHER},null,null,null,null,null);}//---检索一个指定标题---public Cursor getTitle(long rowId) throws SQLException{Cursor mCursor =(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_ISBN,KEY_TITLE,KEY_PUBLISHER},KEY_ROWID + = + rowId,null,null,null,null,null);if (mCursor != null) {();}return mCursor;}//---更新一个标题---public boolean updateTitle(long rowId, String isbn,String title, String publisher){ContentValues args = new ContentValues();(KEY_ISBN, isbn);(KEY_TITLE, title);(KEY_PUBLISHER, publisher);return (DATABASE_TABLE, args,KEY_ROWID + = + rowId, null)0;}}注意Android使用Cursor类返回一个需要的值,Cursor作为一个指针从数据库查询返回结果集,使用Cursor允许Android更有效地管理它们需要的行和列,你使用ContentValues对象存储键/值对,它的put()方法允许你插入不同数据类型的键值。 清单4显示了完整的源代码。 清单4 完整源代码package 2develop.#p#副标题#e#
安卓开发离不开手机存储,然而大部分人对于安卓开发中的存储概念存在误区,内部外部SD卡傻傻分不清?
以下引用来自对 官方文档 的理解
呵呵呵,先别说话,然而重点来了(敲黑板),按照官方的说法,
内部存储是指系统的存储空间,没有root是访问不到的呦亲,比如sharedPreferenced或者database都是保存在这里面的。
外部存储,又分为 2 部分:
然而现实中,常常有同事把手机那个32G,64G存储叫做内部存储= =,宝宝好累,人家明明是 ExternalStorage !!
希望本篇能让大家对内外部存储有一个正确鲜明的认识
getFilesDir()
路径如下
文档 云:若想操作该路径,你需要一个输出流:
就像这样:
注: this 是 context 对象
在
路径下会看到新文件哦
如果你还想读取的话, 文档 云:你需要一个输入流:
Log如下
getCacheDir()
文档 云:
路径如下:
特别的,还有getDir() :
getDir(- -!, _PRIVATE)()
路径如下:
app_是系统自己加上去的
内部存储就是系统的存储,没有root你是看不到的,内部存储最大特点就是可以用Context对象调用各个获取路径的方法。比如: () 那就是
下的文件遍历。
而 deleteFile(ABC) 就是
删除下名为 ABC 的文件
操作外部存储你首先需要以下权限
当你申请了write权限,那么read权限默认也就通过啦
再判断状态:
这个路径根据手机厂家不同会有些许变化
直接传入 Environment 中的常量获取相应的路径,如下:
(_ALARMS));
或者
(_PICTURES));
公有目录下,系统会区分不同类别 (例如铃声在系统设置中显示为铃声而不是音乐)
4.4以后访问该目录不再需要权限了
getExternalFilesDir(String type)
特别的:ContextCompat下的
(context,type)
返回一个File[],在4.4以后第一条数据默认外部主存储目录,第二条数据就是sd卡路径啦,但是注意4.4之前是没有第二条数据的哦
该目录下的特点是卸载程序后,该目录和其下所有文件均会被删除
getExternalCacheDir()
注意,使用该目录注意管理空间,你不能等系统帮你清理,而是自己清理不再需要的缓存
特别的:ContextCompat下的
道理同上
发现特点了吗朋友,无论外部内部,只有路径中有包名,那么就是私有的,而且是随着程序的卸载而被删除的, 有包名的路径均是Context中的方法,而公有的路径均是Environment调用的
这个货真真是要了老命,一般的方法根部不好使,结合网上有的方法加上公司项目中的方法,总结如下:
百分百好用的获取SD卡路径方法:
最后集合 path 中的值就是SD卡根目录
虽然无视版本百分百好用,但是如果你的手机有SD卡槽却没插SD卡,该方法最后 path 返回的是 null ,也就是说该方法无法判断到底是没插SD卡还是根本不支持SD卡
其实还有一种方法
String path = (SECONDARY_STORAGE);
该方法只要你手机支持SD卡,无论你插没插SD卡,均会返回SD卡路径,但是 6.0及以上该方法被移除
Environment中源码其实就是根据这个方法获取路径的
安卓官方文档大家一定要看,他就是我们开发者的权威呀,圣经呀!!
相信大家手机上都有安装许多软件,在没有wifi的情况下,一不注意就会花费很多流量,那么这些软件在使用时,我们如何去监测它们的流量使用情况呢?以及为了节省流量,如何去设置只允许使用wifi而不允许使用流量呢?下面小编就以安卓系统手机为例,为大家具体介绍。 具体如下:1. 首先在手机上找到“系统工具”,在其中找到并打开“设置”。 2. 进入设置页面后,找到并点击“应用和通知”。 3. 在“应用和通知”页面中,找到并点击“应用管理”,接着在其中打开我们想要查看和管理的软件。 4. 进入刚刚选中的软件页面后,找到并点击“流量使用情况”,在其中我们可以看到该软件一个月内每天的流量使用情况以及流量剩余情况。 5. 在页面下方有几个权限的设置,如“移动数据、WLAN、后台数据”等,我们可以根据我们的需要进行调整,调整完后返回手机桌面就会生效了。
应用的用户数据在安卓系统中是存储在特定的位置下的,系统root后,可以到系统的/data/data目录中找到一大堆以应用的包名命名的文件夹。
拓展资料:
每个文件夹里面的内容基本就是对应的应用存储的用户数据,原则上来讲只要把特定目录中内容拷贝到另外一台手机的相同的路径下,就能够恢复相应应用的用户数据了,但是单纯的拷贝完会遇到一些问题。(当然有些应用会在sdcard上生成一些缓存数据,或者存储下载的图片等文件,这些存在sdcard上的数据单纯的拷贝到另外一台手机上就可以了,没有特别需要说明的地方。)
这样可能不仅仅是针对碎屏或者是系统无法启动的手机数据迁移的方法。如果你使用的不是MIUI,没有本地备份,只要你的手机能root,就可以用相同的方法进行数据迁移,对于需要换成小米手机的用户来说,想要保留某些自己喜欢的应用的数据,本地备份以一个非常必备且实用的数据迁移工具。
参考资料:安卓数据库_网络百科
上一篇:steam免费喜1小小噩梦
内容声明:
1、本站收录的内容来源于大数据收集,版权归原网站所有!
2、本站收录的内容若侵害到您的利益,请联系我们进行删除处理!
3、本站不接受违法信息,如您发现违法内容,请联系我们进行举报处理!
4、本文地址:https://link.52hwl.com/article/732.html,复制请保留版权链接!
1、打开百度APP-我的-精选办事左滑页面找到“充值缴费”-进去点击顶部5元 2、然后邀2个好友助力即可-没找到活动打开地址点输入手机号跳转到百度APP参与! PS:还有个2元券也是满30用,刚需也可领! 活动地址: https://5bnfgx.smartapps.cn/channels/recharge/pages/index/index
2021-06-05 18:10:29
深入探讨安卓系统开发中的性能监控与优化方法在安卓系统开发中,性能监控与优化是至关重要的一环,一款性能出色的安卓应用能够提升用户体验,增加用户黏性,并且对于应用的成功与否起着关键作用,因此,深入探讨安卓系统开发中的性能监控与优化方法具有重要的意义,性能监控是保障应用稳定性与性能表现的重要手段,通过性能监控,开发者可以及时发现应用存在的性...。
2024-02-19 00:45:54
央视网消息,青海省博物馆本次春节期间举办了以,欢欢喜喜过大年,‘龙,行青博,为主题的系列活动,让市民和游客在欢乐祥和的氛围中度过春节假期,活动以寻宝为主题,在历史文物展厅展出了许多不同时期具有龙元素的文物,如龙纹瓷盘、龙纹马鞍、双龙戏珠图案藏毯等,其中,鎏金铜如意龙纹马鞍是一件十分精湛的艺术品,无论是材料、形制还是工艺都展现了高超的技...。
2024-02-13 17:02:22
根据最近的报道,国家主席习近平和夫人彭丽媛向美国林肯中学的师生回赠了一份新春贺卡,表达了对师生们来中国交流学习的热烈欢迎,并希望能够增进中美两国人民特别是青年之间的友谊,林肯中学校长卡尔·霍塞斯表示,当师生们收到习近平主席和彭丽媛女士的贺卡时,他们都感到非常激动和振奋,林肯中学愿意成为中美人文交流的桥梁和纽带,据悉,林肯中学是美国首批...。
2024-02-13 16:55:17
据中国侨网2月13日援引美国世界日报消息,福茂集团,ForemostGroup,董事长兼首席执行官赵安吉,AngelaChao,在2月12日凌晨因车祸离世,享年50岁,赵安吉,1973年出生于美国,祖籍上海嘉定,是美国前任劳工部长赵小兰的妹妹,也是中国银行原独立非执行董事,自2017年1月起,她担任中国银行独立董事,并同时担任美国福茂...。
2024-02-13 15:03:34
预见金龙,重阳投资董事长王庆,市场从量变到质变的时点正在临近凯歌而行,不以山海为远;乘势而上,不以日月为限,在这辞旧迎新的重要时点,券商中国、券中社APP邀请各大金融机构代表拍摄新春祝福视频,分享2023年的心得感悟以及对2024年的展望,路漫漫,愿所有等候不被辜负!重阳投资董事长王庆在券商中国,预见金龙,年终策划中表示,估值便宜、调...。
2024-02-13 14:21:23
AI技术正在不断革新,为传统习俗带来了全新的玩法,随着春节的临近,顺网科技旗下的唠唠推出了一项名为,抢福神分红包AI拜年,的活动,该活动在半日内就吸引了超过10000人参与,展现出极强的用户吸引力,据顺网科技介绍,本次活动借助AI技术,让福神们能够跨越虚拟与现实的界限,为大家送上祝福,给新年增添更多的欢乐和新意,同时也炒热了新年的气氛...。
2024-02-13 12:10:37
根据快科技的报导,PCIe5.0SSD的性能不断提升,读写速度越来越快,随机读取速度从最初的约10GB,s提升到12GB,s左右,如今甚至突破了14GB,s,已经接近PCIe5.0x4通道的极限,美光旗下的品牌英睿达即将推出新款T705系列,预计将创造14.5GB,s的新纪录,英睿达T705系列使用了美光的B58RFortisFlas...。
2024-02-13 12:03:40
Python爬虫入门教程,爬虫数据的加密与解密技术探索Python爬虫入门教程,爬虫数据的加密与解密技术探索随着互联网的发展,爬虫技术越来越受到人们的关注,作为一种自动化从网页上获取数据的技术,爬虫可以帮助用户快速高效地获取所需的信息,随着网站对爬虫的防护机制越来越强化,爬取数据也变得越来越困难,本教程将介绍爬虫数据的加密与解密技术,...。
2024-02-13 10:02:40
在Linux中安装和配置FTP服务器在Linux中安装和配置FTP服务器是一个相对简单但需要一定了解的过程,FTP是一种文件传输协议,用于在网络上共享文件,对于那些希望通过网络传输文件的用户来说,FTP服务器是必不可少的工具,我们需要选择适合自己需求的FTP服务器软件,Linux中有多种FTP服务器软件可供选择,其中比较常用的包括Pr...。
2024-02-12 20:58:19
作者,余飞连日来,,飞驰车女子因加塞争议打砸引擎盖事情,继续在网络发酵,演出着一出出,延续剧,最开局,被砸车一方发布事发视频引发网友关注,随后警方对,拦车唾骂并用拳头打砸红色小轿车引擎盖,的飞驰女子,作出,行政扣留10日并罚款500元,的处分,但是,随着,加塞砸引擎盖的飞驰车内监控曝光,、,完整监控曝光,飞驰男砸车前被红色奇瑞车顶了...。
2024-02-07 05:59:16