关键词:
<resources> <string name="app_name">头条</string> <string name="openDrawer">今日头条</string> <string name="closeDrawer">用户目录</string> </resources> /****/
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@mipmap/splash"/> </LinearLayout> /**splash
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawerLayout" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!--标签布局--> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="center" app:tabTextColor="@color/colorPrimary" app:tabIndicatorColor="@android:color/transparent" app:tabSelectedTextColor="@color/colorAccent" app:tabMode="scrollable"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> </LinearLayout> <!-- 菜单栏选项--> <ListView android:id="@+id/leftDrawer" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/colorPrimary"> </ListView> </android.support.v4.widget.DrawerLayout> /**main_Activity
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.daytwo"> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".HomeActivity"/> </application> </manifest> /***manifo
package com.example.daytwo.fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class Fragment1 extends Fragment { private static final String PAGE_TITLE = "PAGE_TITLE"; private String title; public static Fragment1 newInstance(String title){ Bundle bundle = new Bundle(); bundle.putString(PAGE_TITLE,title); Fragment1 fragment1 = new Fragment1(); fragment1.setArguments(bundle); return fragment1; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); //当Fragemnt一旦被创建,我就可以接受对方传递过来的值 title = getArguments().getString(PAGE_TITLE); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { TextView textView = new TextView(getActivity()); textView.setText(title); textView.setTextSize(50); return textView; } } //fragment1
package com.example.daytwo; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; /** * Created by hp on 2017/8/31. */ public class BaseActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); //隐藏标题栏 //getSupportActionBar().hide(); //标题栏 ActionBar actionBar = getSupportActionBar(); //显示箭头 actionBar.setDisplayHomeAsUpEnabled(true); } }
package com.example.daytwo; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import com.example.daytwo.fragment.Fragment1; import java.util.ArrayList; import java.util.List; public class HomeActivity extends BaseActivity implements AdapterView.OnItemClickListener { private DrawerLayout drawerLayout; private ListView leftDrawer; private List<String> list = new ArrayList<String>(); private ArrayAdapter<String> adapter; private ActionBarDrawerToggle toggle; private final String[] mTitles = new String[]{"推荐","热点","北京","科技","军事","视频","社会"}; private ViewPager vp; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initView(); } /** * 初始化数据 */ private void initData() { for (int i = 0; i < 5; ++i) { list.add("泡妞0" + i); } } /** * 初始化View */ private void initView() { drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); leftDrawer = (ListView) findViewById(R.id.leftDrawer); //初始化ActionBar //参数1:上下文 //参数2:抽屉 //参数3:打开抽屉的描述 //参数4:关闭抽屉的描述 toggle = new ActionBarDrawerToggle(this,drawerLayout, R.string.openDrawer,R.string.closeDrawer); //设置状态同步 toggle.syncState(); //设置抽屉打开关闭监听 drawerLayout.addDrawerListener(toggle); //设置适配器 adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list); leftDrawer.setAdapter(adapter); leftDrawer.setOnItemClickListener(this); //找到标签布局控件 TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout); for (String str : mTitles) { //更具标签数生成标签 tabLayout.addTab(tabLayout.newTab().setText(str)); } //TabLayout关联ViewPager vp = (ViewPager) findViewById(R.id.vp); vp.setAdapter(new MyFragmentAdapter(getSupportFragmentManager())); //让TabLayout发生关联 tabLayout.setupWithViewPager(vp); } //重写该方法,监听actionbar 条目监听(箭头、三个横线) @Override public boolean onOptionsItemSelected(MenuItem item) { //如果抽屉打开,点击按钮,就会关闭,反之亦然 return toggle.onOptionsItemSelected(item) | super.onOptionsItemSelected(item); } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //关闭抽屉 drawerLayout.closeDrawer(leftDrawer); } class MyFragmentAdapter extends FragmentPagerAdapter{ public MyFragmentAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return Fragment1.newInstance(mTitles[position]); } @Override public int getCount() { return mTitles.length; } //重写该方法,显示标签字体 bug @Override public CharSequence getPageTitle(int position) { return mTitles[position]; } } } //**H
package com.example.daytwo; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.widget.RelativeLayout; public class MainActivity extends BaseActivity { private RelativeLayout rl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); //隐藏action getSupportActionBar().hide(); //动画结束,跳转9 Intent intent = new Intent(MainActivity.this, HomeActivity.class); startActivity(intent); /* rl = (RelativeLayout) findViewById(R.id.rl); playAnim(rl);*/ } /** * 播放动画 * @param view */ private void playAnim(View view) { AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0); alphaAnimation.setDuration(2000); alphaAnimation.setFillAfter(true); view.startAnimation(alphaAnimation); alphaAnimation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { //动画结束,跳转 Intent intent = new Intent(MainActivity.this, HomeActivity.class); startActivity(intent); } @Override public void onAnimationRepeat(Animation animation) { } }); } }
apply plugin: ‘com.android.application‘ android { compileSdkVersion 26 buildToolsVersion "26.0.1" defaultConfig { applicationId "com.example.daytwo" minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘ } } } dependencies { compile fileTree(include: [‘*.jar‘], dir: ‘libs‘) androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2‘, { exclude group: ‘com.android.support‘, module: ‘support-annotations‘ }) compile ‘com.android.support:appcompat-v7:26.+‘ compile ‘com.android.support.constraint:constraint-layout:1.0.2‘ testCompile ‘junit:junit:4.12‘ compile files(‘libs/xUtils-2.6.14.jar‘) compile ‘com.android.support:design:26.0.0-alpha1‘ } android { useLibrary ‘org.apache.http.legacy‘ }
“今日头条”和“今日头条极速版”有啥不同?
...A面对客户人群不一样,界面不一样,功能体验不一样。今日头条界面比较复杂,体验功能更加多元化。今日头条极速版界面简单,功能体验比较少。今日头条:基于个性化推荐引擎技术,根据每个用户的兴趣、位置等多个维度... 查看详情
今日头条的惊惶时刻
今日头条到底怎么了?昨天上午,国家知识产权局用一纸决定书驳回了今日头条关于UC一条专利的无效宣告请求,这意味着今日头条很可能要面临巨额的专利侵权罚款。不过UC并不是唯一和今日头条“对簿公堂”的企业。在1月26... 查看详情
今日头条的核心架构解析
今日头条创立于2012年3月,到目前仅4年时间。从十几个工程师开始研发,到上百人,再到200余人。产品线由内涵段子,到今日头条,今日特卖,今日电影等产品线。一、产品背景今日头条是为用户提供个性化资讯客户端。下面就... 查看详情
今日头条
<resources><stringname="app_name">头条</string><stringname="openDrawer">今日头条</string><stringname="closeDrawer">用户目录</string></resources>/****/<?xmlvers 查看详情
今日头条爬虫
今日头条是一个js动态加载的网站,尝试了两种方式爬取,一是页面直接提取,一是通过接口提取:version1:直接页面提取#coding=utf-8#今日头条fromlxmlimportetreeimportrequestsimporturllib2,urllibdefget_url():url=‘https://www.toutiao.com/ch/news_hot/‘gl... 查看详情
如何在头条做营销:2022今日头条营销价值洞察报告.pdf(附下载链接)
本报告共包含如下四大部分:1、趋势:品牌内容营销难题;2、人群:今日头条人群特征;3、内容:今日头条内容生态;4、商业:今日头条商业生态。更多细节和行研干货资料请到小程序省时查报告中查看全文并下载。 查看详情
今日头条核心技术“个性推荐算法”揭秘
今日头条核心技术“个性推荐算法”揭秘最近面试华兴资本,他们比较关注今日头条算法的实现,今天特转载网上今日头条算法解密 【IT168 评论】互联网给用户带来了大量的信息,满足了用户在信息时代对信息的需求,... 查看详情
go--今日头条架构
夏绪宏,今日头条架构师,专注对高性能大规模Web架构,云计算、性能优化、编程语言理论等方向,PHPcommitter,HHVM项目贡献者。2009加入百度,先后从事大规模IDC自运维设施建设、云计算平台的架构设计、贴吧业务性能优化、百... 查看详情
[新浪]今日头条被高估了吗?
今日头条被高估了吗? 欢迎关注“创事记”的微信订阅号:sinachuangshiji 文/华生 来源:砺石商业评论(ID:libusiness) 砺石导言 对于今日头条这样一家缺乏核心竞争力,并且始终头顶较大法律与道德风险... 查看详情
今日头条算法
...u014114990/article/details/48165781 日头条涉及到算法:(1)今日头条服务器1000台左右,通过代码实现的爬虫功能,在其他传媒的网站和门户上抓取各种信息。如果在网站上抓取到纸媒的内容,优先从纸媒门户上抓取信息(2)抓取... 查看详情
今日头条
今日头条新闻选择(省?市)城市北京上海天津重庆香港澳门台湾?更多安徽?更多福建?更多甘肃?更多广东?更多广西?更多贵州?更多海南?更多河北?更多河南?更多黑龙江?更多湖北?更多湖南?更多吉林?更多江苏?更多江西?更多辽宁?更多... 查看详情
今日头条
importrequestsimportreimportjsonimportosfromurllibimportrequestforiinrange(0,60,20):url=‘https://www.toutiao.com/search_content/?offset=&format=json&keyword=%E8%A1%97%E6%8B%8D&autoload=t 查看详情
超级简单的下载今日头条和西瓜视频的方法
我们每天用今日头条看新闻资讯,有时候看到一个视频,想要保存下来,但今日头条App里没有提供保存视频的功能。这个时候我们需要借助第三方工具来下载视频,今天介绍一个超级好用的工具,不需要安装任何软件和插件,并... 查看详情
怎么在今日头条上发布新闻,或者做广告投放的?
怎么在今日头条上发布新闻,或者做广告投放的?就是把信息,主动推送给用户的那种广告,或者新闻。广告投放自己不好做,要说自己在上边发新闻或许还可以今日头条如何发布文章?第一步,登陆今日头条官网申请账号第二... 查看详情
vue2.0仿今日头条开源项目
vue-toutiao这是用 vue.js2.0 高仿 今日头条 的移动端项目,结合了原生app的部分功能以及网页版。前言本人是 今日头条 的重度用户,在学习vue.js过程中,在GitHub上看到了很多高仿webapp的好项目。由此在有了一... 查看详情
今日头条推广入门必懂知识简介
尽管今日头条推广效果不错,但我发现很多广告主对其仍然不是很了解。为此,我以自己的操作经验出发,以帮助大家进一步了解今日头条推广。今日头条简介:今日头条创建于2012年,是目前国内移动互联网... 查看详情
今日头条——面试案例
今日头条面试案例1-数据结构中堆的概念,堆排序-死锁的概念,怎么避免死锁-ReentrantLock、synchronized和volatile(n面)-HashMap-singleTask启动模式-用到的一些开源框架,介绍一个看过源码的,内部实现过程。-消息机制实现-ReentrantLock... 查看详情
今日头条&58转转笔试
昨天参加今日头条和58转转的笔试,因为时间上有冲突,所以主要选择参加头条的笔试。 先说头条: 头条的题型:一道改错题三道编程题一道设计题 感受:做题目的的时候还是有点紧张的,因为突然遇到题目需要思... 查看详情