一些小东西(持续更新)

其他的东西:
1'按 win+X 组合键或右键点击开始菜单按钮,打开CMD选择(命令提示符) (管理员) (必须要用管理员身份运行,要不然权限不够)
2,转到2016安装目录(复制进去按回车键):cd C:\Program Files\Microsoft Office\Office16
注意:64位: cd C:\Program Files\Microsoft Office\Office16
32位:cd C:\Program Files (x86)\Microsoft Office\Office16
3,先运行cscript ospp.vbs /dstatus 显示已安装KEY的状态,这里只显示KEY的后5位。
4,把要卸载的KEY用命令cscript ospp.vbs /unpkey:XXXXX(KEY后5位)卸载。

0、一个好用的压缩工具(LuBan)

github地址:https://github.com/Curzibn/Luban

# 0.0:准备

    compile 'top.zibin:Luban:1.0.9'
    compile 'io.reactivex:rxandroid:1.2.1'
    compile 'io.reactivex:rxjava:1.1.6'

0.1:使用:

    private void GearImage(File file){
        Luban.get(this)
                .load(file)                     //传人要压缩的图片
                .putGear(Luban.THIRD_GEAR)      //设定压缩档次,默认三挡
                .setCompressListener(new OnCompressListener() { //设置回调
                    @Override
                    public void onStart() {
                        showMyDialog();//开始压缩,这里可以添加一个loading
                    }
                    @Override
                    public void onSuccess(File file) {//压缩结束
                        // 隐藏loading
                        hideMyDialog();
                        // 拿到file
                        headImgfile=file;
                        // 使用Glide显示图片
                        GlidePicUtils.CircleHeadPic(mContext, headImgfile.getPath(), childrenimg); 
                    }
                    @Override
                    public void onError(Throwable e) {//失败
                        //隐藏loading
                        hideMyDialog();
                        // 提示用户
                        T.shortToast(mContext,getResources().getString(R.string.text_editdekaron_nopic));
                    }
                }).launch();    //启动压缩
    }

1、设置App打开之后的白屏,这里设置了一个图片

   <style name="SplashTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- 将splash图片设置在这,这样这张图片取代白屏 -->
        <item name="android:windowBackground">@drawable/loading</item>
        <!--去掉电池电量条 -->
        <!--<item name="android:windowFullscreen">true</item> -->
        <!-- 或者是将主题设置成透明,虽然点击图标会有点小小的卡顿,但是用户体验不影响 -->
        <!-- <item name="android:windowIsTranslucent">true</item> --> <!-- 透明背景不要了 -->
   </style>

2、在android6.0(api 23)之后找不到org.apache.http.xxx包

在app里边的build.gradle中添加userLibrary 'org.apache.http.legacy'


添加位置

3、在使用Fragment的时候,有时需要及时刷新数据,来重写这个方法试试吧。

   @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        //判断该Fragment时候已经正在前台显示  通过这两个判断,就可以知道什么时候去加载数据了
        if (isVisibleToUser && isVisible()) {
           //这里去加载数据
        }
        super.setUserVisibleHint(isVisibleToUser);
    }

4、屏幕方向

1、判断屏幕方向

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 竖屏
            // 竖屏时doSomrthing
        } else {
            // 横屏时dosomething
        }

        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_bigpic);
        
    }

2、设置屏幕方向

方法一:在AndroidManifest.xml中配置

如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:

"unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
"landscape":横屏显示(宽比高要长)
"portrait":竖屏显示(高比宽要长)
"user":用户当前首选的方向
"behind":和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
"sensor":有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
"nosensor":忽略物理感应器,这样就不会随着用户旋转设备而更改了("unspecified"设置除外)。

设置强制横屏竖屏

方法二:在java代码中设置

设置横屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏
设置竖屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏

因为横屏有两个方向的横法,而这个设置横屏的语句,如果不是默认的横屏方向,会把已经横屏的屏幕旋转180°。
所以可以先判断是否已经为横屏了,如果不是再旋转,不会让用户觉得转的莫名其妙啦!代码如下:

if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT){
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

5、需要在TextView旁边放一个图片。但是距离太近了。

xml文件中这样:

//设置距离
 android:drawablePadding="@dimen/px_10"
//设置图片
 android:drawableLeft="@drawable/nav_location"

6、Edittext的一些属性。

//设置光标在左上角
android:gravity="top"
//设定光标为显示/隐藏,默认显示
android:cursorVisible="true"
//设置允许输入哪些字符。如“1234567890.+-*/% ()”
android:digits="1234567890.+-*/% ()"

限制只能输入中文:
String文件:

<string name="rule_password">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&</string>

然后在edittext中设置上文说到的digits属性

7、View.setVisibility的三种状态:

invisible:     View   不可见,占位置;
visible  :     View   可见,占位置;
gone    :      View   不可见,不占位置;

8、一个自定义的Toast,可以把自己的layout用Toast的方式显示出来:

    private static Toast mToast;

    /**
     * @param mContext
     * @param duration  显示时间
     * @param layout    布局
     * @return
     */
    public  static void showToast(Context mContext,int duration,int layout) {
        if (mToast != null) {
            mToast.cancel();
            mToast = null;
        }
        View view = LayoutInflater.from(mContext).inflate(layout, null);
        mToast = new Toast(mContext);
        //设置显示的位置
        mToast.setGravity(Gravity.CENTER, 0, 2);
       //设置显示时间
        mToast.setDuration(duration);
        mToast.setView(view);
        mToast.show();
    }

效果图:

自定义Toast

9、Glide的一些简单用法:

       Glide.with(LoginActivity.this)
                .load("http://4493bz.1985t.com/uploads/allimg/150127/4-15012G52133.jpg")
                .diskCacheStrategy(DiskCacheStrategy.ALL)//设置缓存(缓存源资源和转换后的资源)
////              .diskCacheStrategy(DiskCacheStrategy.NONE)//设置缓存(不作任何磁盘缓存)
////              .diskCacheStrategy(DiskCacheStrategy.SOURCE)//设置缓存(缓存源资源)
////              .diskCacheStrategy(DiskCacheStrategy.RESULT)//设置缓存(缓存转换后的资源)
//                .transform(new GlideRoundTransform(mContext))//圆角图片
                .transform(new GlideCircleTransform(this))//圆形图片
                .placeholder(R.mipmap.ic_launcher)//加载中的图片
                .error(R.mipmap.ic_launcher)//加载失败的图片
                .thumbnail(0.1f)//先加载缩略图,再加载大图
//                .override(800, 800)//设置加载图片尺寸
//                .skipMemoryCache(true)//跳过内存缓存
               .into(heatview);

10、弹出选择框后,把页面其他位置变暗:

      //设置其他部分阴暗效果,在回调之后设置为1
        WindowManager.LayoutParams params=mActivity.getWindow().getAttributes();
        params.alpha=0.5f;//阴暗效果
        mActivity.getWindow().setAttributes(params);

效果图:

阴影效果

11、动态设置控件大小:

        RecyclerView.LayoutParams linearParams = (RecyclerView.LayoutParams) HeadView.getLayoutParams(); //取控件textView当前的布局参数
        linearParams.width = ScreenUtils.getScreenWidth(getActivity());// 控件的宽强制设成30
        HeadView.setLayoutParams(linearParams); //使设置好的布局参数应用到控件

哦,然后就遇到问题了,在有些view中获取的LayoutParams为null,这是因为vewi还没有加载完。这时候就出现空指针了。这样,给view设置一个观察树。等view加载完了之后再去设置大小。具体代码如下:

        //动态设置headerview的大小,给headerview添加一个观察树
        ViewTreeObserver viewTreeObserver = HeadView.getViewTreeObserver();
        //当veiw被加载完成之后,调用该方法回调,这时候去设置veiw的大小
        viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                RecyclerView.LayoutParams linearParams = (RecyclerView.LayoutParams) HeadView.getLayoutParams(); //取控件textView当前的布局参数
                linearParams.width = ScreenUtils.getScreenWidth(getActivity());// 控件的宽强制设成30
                HeadView.setLayoutParams(linearParams); //使设置好的布局参数应用到控件
            }
        });

12、在Fragment中使用 FragmentManager要使用getChildFragmentManager():

//使用 
SimpleFragmentPagerAdapter pagerAdapter = new SimpleFragmentPagerAdapter( getChildFragmentManager(), getActivity(),list_fragment,list_title);

//构造方法
public SimpleFragmentPagerAdapter(FragmentManager fm,Context context,ArrayList<Fragment>  mList,ArrayList<String> mListString) {
        super(fm);
        this.context = context;
        this.mList = mList;
        this.mListString = mListString;
    }
        

13、要去加载一个带有标签的webview

 myWeb.setWebViewClient(new WebViewClient() {
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
                handler.proceed();  // 接受所有网站的证书
            }
        });
        myWeb.getSettings().setJavaScriptEnabled(true);
  myWeb.loadDataWithBaseURL(null,mBean.getData().getAdDetails().getContent(), "text/html", "utf-8", null);

14、进入activity,Edittext占用焦点,键盘总是弹出来,在AndroidMainfest.xml文件中添加这句。

  android:windowSoftInputMode="stateHidden"

15、Edittext输入两位小数,只能输入一个小数点,第一个数字是0的时候(不能输入其他数字,不能连续输入两个0)

        mInPoints.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                                      int count) {
                if (s.toString().contains(".")) {
                    if (s.length() - 1 - s.toString().indexOf(".") > 2) {
                        s = s.toString().subSequence(0,
                                s.toString().indexOf(".") + 3);
                        mInPoints.setText(s);
                        mInPoints.setSelection(s.length());
                    }
                }
                if (s.toString().trim().substring(0).equals(".")) {
                    s = "0" + s;
                    mInPoints.setText(s);
                    mInPoints.setSelection(2);
                }

                if (s.toString().startsWith("0")
                        && s.toString().trim().length() > 1) {
                    if (!s.toString().substring(1, 2).equals(".")) {
                        mInPoints.setText(s.subSequence(0, 1));
                        mInPoints.setSelection(1);
                        return;
                    }
                }
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void afterTextChanged(Editable s) {

            }

        });

16、6.0以后的蓝牙权限,需要另外加上这个!

 <uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION"/>

17、swiperefreshlayout与scrollview的冲突

原理很简单:就是在scrollview还没有到达第一条数据顶部的时候,就设置swipeRefreshLayout为不可操作状态,那么检测swipeRefreshLayout的滚动分发就不起作用了,就达到我们需要的目的了。代码如下:

  if (myScroll != null) {
            myScroll.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
                @Override
                public void onScrollChanged() {
                    if (me_swipe != null) {
                        me_swipe.setEnabled(myScroll.getScrollY() == 0);
                    }
                }
            });
        }

18、Android studio 查看sha1

1、cd 到 .Android 目录下
2、输入: keytool -list -keystore debug.keystore
C:\Users\Administrator.android>keytool -list -keystore debug.keystore
3、输入密码,密码是不显示的,输入正确回车就可以了
密码:android (默认密码)

效果图

19、TextView划线

textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线

textView.getPaint().setAntiAlias(true);//抗锯齿

textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG); //中划线

setFlags(Paint. STRIKE_THRU_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG);  // 设置中划线并加清晰 

textView.getPaint().setFlags(0);  // 取消设置的的划线

20、onActivityResult不执行问题

如果Activity 的加载启动模式(launchMode )是SingleTask或者 SingleInstance,会导致onActivityResult()没有调用。修改启动模式为singleTop或者标准。原因是:设置为 launchmode=”SingleTask”,系统将在 startActivityForResult() 后直接调用 onActivityResult()。

21、在Scrollview中用到一个listview之列的控件,总是到ScrollView的底步,原因是listview获取了焦点。给控件设置这个属性。

listaddeq.setFocusable(false);

22、事件分发机制的一个视频连接

https://ke.qq.com/webcourse/index.html?from=qqchat#course_id=166061&term_id=100193159&taid=917065712175277&vid=w1414asmavu&ADUIN=1538818231&ADSESSION=1495671726&ADTAG=CLIENT.QQ.5515_.0&ADPUBNO=26657

23、ListView的一些属性:

android:dividerHeight="10dp"  //设置分割线高度
android:divider="@color/colorAccent"//设置分割线颜色
android:divider="@null"//透明分割线
android:scrollbars="none"//隐藏滚动条
android:listSelector="#00000000"//隐藏Item的点击效果
android:listSelector="@android:color/transparent"//隐藏Item的点击效果

//设置需要显示第几个item
mListView.setSelection(50);//瞬间完成
mListView.smoothScrollToPosition(100);//平滑移动
View mView=mListView.getChildAt(0);//取到第0个item的view
mListView.getLastVisiblePosition();//当前区域的最后一个可见的item
mListView.getFirstVisiblePosition();//当前区域的第一个可见的item

//带有弹性效果的listview,自定义Listvewi,然后重写方法:
    @Override
    protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {
        return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, 200, isTouchEvent);
    }

//listview的滚动事件
        mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView absListView, int i) {
                switch (i){
                    case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
                        //停止滑动
                        break;
                    case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
                        //正在滑动
                        break;
                    case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
                        //手指松开,listview由于惯性继续滑动
                        break;
                }
            }
            @Override
            public void onScroll(AbsListView absListView, int i, int i1, int i2) {
                //i   能看到的第一个Item的是第几个
                //i1  当前页面能看到的item的数量
                //i2  listveiw一共有多少个item
                if(i+i1==i2&&i2-总数>0){
                    //这时候就滑动到了最后一个
                }
            }
        });

24、hellowcharts的简单实用:

1、导入

compile 'com.github.lecho:hellocharts-library:1.5.8@aar'

2、xml文件

    <lecho.lib.hellocharts.view.LineChartView
        android:id="@+id/test_chart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

3、activity

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import java.util.ArrayList;
import java.util.List;

import lecho.lib.hellocharts.gesture.ContainerScrollType;
import lecho.lib.hellocharts.gesture.ZoomType;
import lecho.lib.hellocharts.model.Axis;
import lecho.lib.hellocharts.model.AxisValue;
import lecho.lib.hellocharts.model.Line;
import lecho.lib.hellocharts.model.LineChartData;
import lecho.lib.hellocharts.model.PointValue;
import lecho.lib.hellocharts.model.ValueShape;
import lecho.lib.hellocharts.view.LineChartView;

public class MainActivity extends AppCompatActivity {
    LineChartView mLineChartView;

    ArrayList <Line> mLines=new ArrayList<>();
    private List<AxisValue> mAxisXValues = new ArrayList<AxisValue>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mLineChartView= (LineChartView) findViewById(R.id.test_chart);



        Line line = new Line(addV()).setColor(Color.BLUE);//声明线并设置颜色
        line.setShape(ValueShape.CIRCLE);//折线图上每个数据点的形状  这里是圆形 (有三种 :ValueShape.SQUARE  ValueShape.CIRCLE  ValueShape.DIAMOND)
        line.setCubic(true);//曲线是否平滑,即是曲线还是折线
        line.setFilled(true);//是否填充曲线的面积
        line.setHasLabels(true);//曲线的数据坐标是否加上备注
//      line.setHasLabelsOnlyForSelected(true);//点击数据坐标提示数据(设置了这个line.setHasLabels(true);就无效)
        line.setHasLines(true);//是否用线显示。如果为false 则没有曲线只有点显示
        line.setHasPoints(true);//是否显示圆点 如果为false 则没有原点只有点显示(每个数据点都是个大的圆点)
        mLines.clear();
        mLines.add(line);


        mLineChartView.setInteractive(false);//设置图表是可以交互的(拖拽,缩放等效果的前提)
        mLineChartView.setZoomType(ZoomType.HORIZONTAL_AND_VERTICAL);//设置缩放方向

        mLineChartView.setMaxZoom((float) 2);//最大方法比例
        mLineChartView.setContainerScrollEnabled(true, ContainerScrollType.HORIZONTAL);




        LineChartData data = new LineChartData();
        Axis axisX = new Axis();//x轴
        axisX.setHasTiltedLabels(true);  //X坐标轴字体是斜的显示还是直的,true是斜的显示
        axisX.setTextColor(Color.WHITE);  //设置字体颜色
        //axisX.setName("date");  //表格名称
        axisX.setTextSize(10);//设置字体大小
        axisX.setMaxLabelChars(8); //最多几个X轴坐标,意思就是你的缩放让X轴上数据的个数7<=x<=mAxisXValues.length
        axisX.setValues(mAxisXValues);  //填充X轴的坐标名称
        data.setAxisXBottom(axisX); //x 轴在底部
        //data.setAxisXTop(axisX);  //x 轴在顶部
        axisX.setHasLines(true); //x 轴分割线

        Axis axisY = new Axis();//y轴
        axisY.setName("");//y轴标注
        axisY.setTextSize(10);//设置字体大小
        data.setAxisYLeft(axisY);  //Y轴设置在左边
        //data.setAxisYRight(axisY);  //y轴设置在右边


        data.setAxisXBottom(axisX);
        data.setAxisYLeft(axisY);
        data.setLines(mLines);


        mLineChartView.setLineChartData(data);//给图表设置数据

    }


    /**
     * 初始化折线上的点
     * @return
     */
    private ArrayList<PointValue> addV(){

        ArrayList<PointValue> values = new ArrayList<PointValue>();//折线上的点
        values.add(new PointValue(0, 200));
        values.add(new PointValue(1, 4));
        values.add(new PointValue(2, 300));
        values.add(new PointValue(3, 50));
        values.add(new PointValue(4, 100));
        values.add(new PointValue(5, 150));
        values.add(new PointValue(6, 70));
        return values;
    }

}

4、参考地址

http://blog.csdn.net/androidtalent/article/details/52290051

25、环境变量:

1、 新建java_home

C:\Program Files (x86)\Java\jdk1.7.0_15(jdk的路径)

2、 编辑path

;%java_home%\bin(在最后加上)

3、 新建classpath

.;%java_home%\lib

26、Fragment使用hind()、show()方法切换fragment的时候出现重叠现象:

1、 定义一个变量

int position=0;

2、 添加如下方法

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        //记录当前的position
        outState.putInt("position", position);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        position = savedInstanceState.getInt("position");
        switchFragment(position);
        super.onRestoreInstanceState(savedInstanceState);
    }

3、别忘记了在切换fragment的时候更改position的值

26、Fragment中动态申请权限不走onRequestPermissionsResult方法:

先看代码:
activity:

 // 申请授权
 ActivityCompat.requestPermissions(PersonalDataActivity.this, stringPermissions, REQUEST_PERMISSION_CAMERA_6_0);

fragment

  // 申请授权
  HomeFragment.getInstance().requestPermissions(stringPermissions, REQUEST_PERMISSION_CAMERA_6_0);

fragment不能用activity去申请权限的,要用fragment去申请,这样才走自己的方法。还有fragment,startActivityForResult方法也是这样。

27、设置activity禁止截图/录屏:

 //设置禁止截图,禁止录屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
setContentView(R.layout.activity_main);

通过代码中的flags,有以下三个效果:
1.阻止屏幕截图
2.在Recent apps(任务切换界面)中只显示应用名字和图标, 不显示内容
3.Google App的Now on tap功能不会去分析你的页面的内容

28、取消github的关联

settings->version control 点右侧的删除添加就好了


取消github关联

29、android studio不显示方法注释

在setting->Editor->General中的ShowQuick..

设置
效果

30、org.gradle.api,tasks.TaskExecutionException:Execution falied for task ':xxx:compileDebugJavaWithJavac'

遇到问题

这样解决

31、Scroller/RecyclerView设置setOnScrollChangeListener不兼容<api23

scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
    @Override
    public void onScrollChanged() {
 
    }
});

32、分配内存太大了,导致的项目报错

2048m.png

解决方法:在gradle.properties文件中改小一点内存

org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

33、api28网络请求报错

原因:由于 Android P(版本27以上) 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。
如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求

解决办法:

方法一

1.在 res 下新建一个 xml 目录,然后创建一个名为:network_security_config.xml 文件 ,该文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>

2.AndroidManifest.xml application中添加

android:networkSecurityConfig="@xml/network_security_config"

方法二

改为https请求

方法三

targetSdkVersion 降级回到 27

34、一个形象的生命周期图

activity_生命周期图.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容