HttpClient sẽ không nhập trong Android Studio

366
AndroidDev 2015-08-22 20:56.

Tôi có một lớp học đơn giản được viết trong Android Studio:

package com.mysite.myapp;

import org.apache.http.client.HttpClient;

public class Whatever {
    public void headBangingAgainstTheWallExample () {
        HttpClient client = new DefaultHttpClient();
    }
}

và từ đó tôi gặp lỗi thời gian biên dịch sau:

Cannot resolve symbol HttpClient

Không HttpClientcó trong Android Studio SDK? Ngay cả khi không, tôi đã thêm nó vào bản dựng Gradle của mình như thế này:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'org.apache.httpcomponents:httpclient:4.5'
}

Có hay không có dòng biên dịch cuối cùng, lỗi là như nhau. Tôi đang thiếu gì?

22 answers

820
Ilya Blokh 2015-08-22 21:12.

HttpClientkhông được hỗ trợ thêm trong sdk 23. Bạn phải sử dụng URLConnectionhoặc hạ cấp xuống sdk 22 ( compile 'com.android.support:appcompat-v7:22.2.0')

Nếu bạn cần sdk 23, hãy thêm cái này vào gradle của bạn:

android {
    useLibrary 'org.apache.http.legacy'
}

Bạn cũng có thể thử tải xuống và bao gồm jar HttpClient trực tiếp vào dự án của mình hoặc sử dụng OkHttp để thay thế

163
straya 2015-08-23 04:52.

HttpClient không được dùng nữa trong API Cấp 22 và bị xóa trong API Cấp 23. Bạn vẫn có thể sử dụng nó trong API Cấp 23 trở đi nếu phải, tuy nhiên, tốt nhất bạn nên chuyển sang các phương thức được hỗ trợ để xử lý HTTP. Vì vậy, nếu bạn đang biên dịch với 23, hãy thêm cái này vào build.gradle của bạn:

android {
    useLibrary 'org.apache.http.legacy'
}
60
Vinay 2015-10-29 18:28.

Câu trả lời của TejaDroid trong liên kết dưới đây đã giúp tôi. Không thể nhập org.apache.http.HttpResponse trong Android Studio

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.0.1'

    compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
    ...
}
48
AndreyICE 2015-09-17 23:28.

Để sử dụng Apache HTTP cho SDK Cấp 23:

Build.gradle cấp cao nhất - /build.gradle

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0' 
        // Lowest version for useLibrary is 1.3.0
        // Android Studio will notify you about the latest stable version
        // See all versions: http://jcenter.bintray.com/com/android/tools/build/gradle/
    }
    ...
}

Thông báo từ Android studio về cập nhật gradle:

Mô-đun build.gradle cụ thể - /app/build.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    ...
    useLibrary 'org.apache.http.legacy'
    ...
}
31
Pritish Joshi 2015-12-12 19:08.

Hãy thử cách này hiệu quả với tôi Thêm phần phụ thuộc này vào tệp build.gradle của bạn

compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
16
Badr 2015-09-09 03:58.

1- tải xuống tệp jar Apache (tính đến câu trả lời này) tệp 4.5.zip từ:
https://hc.apache.org/downloads.cgi?Preferred=http%3A%2F%2Fapache.arvixe.com%2F

2- mở zip sao chép các tệp jar vào thư mục libs của bạn. Bạn có thể tìm thấy nó nếu bạn đi đến đầu dự án của mình, nơi nó nói "Android", bạn sẽ tìm thấy một danh sách khi bạn nhấp vào nó. Vì thế,

Android -> Dự án -> ứng dụng -> libs

, Sau đó đặt các lọ ở đó.

3- Trong build.gradle (Module: app), hãy thêm

compile fileTree(dir: 'libs', include: ['*.jar'])

trong

 dependency { 
   }

4- Trong lớp java thêm các nhập sau:

import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.params.CoreProtocolPNames;
14
android_sh 2016-02-18 22:03.

HttpClient không được hỗ trợ nữa trong sdk 23. Bản phát hành Android 6.0 (API Cấp 23) loại bỏ hỗ trợ cho ứng dụng Apache HTTP. Bạn phải sử dụng

android {
    useLibrary 'org.apache.http.legacy'
    .
    .
    .

và cũng thêm đoạn mã bên dưới vào phần phụ thuộc của bạn:

// http giải pháp cuối cùng cho dịch vụ web (bao gồm cả tải lên tệp)

compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
}
 compile 'org.apache.httpcomponents:httpclient-android:4.3.5'

Nó cũng sẽ giúp bạn khi bạn sử dụng Sử dụng MultipartEntity để tải tệp lên .

7
Catalin 2015-09-18 07:27.

trong API 22, chúng không còn được dùng nữa và trong API 23, chúng đã loại bỏ chúng hoàn toàn, một giải pháp đơn giản nếu bạn không cần tất cả những thứ ưa thích từ các phần bổ sung mới là chỉ cần sử dụng các tệp .jar từ apache đã được tích hợp trước API 22, nhưng dưới dạng các tệp .jar được phân tách:

1. http://hc.apache.org/downloads.cgi
2. download httpclient 4.5.1, the zile file
3. unzip all files
4. drag in your project httpclient-4.5.1.jar, httpcore-4.4.3.jar and httpmime-4.5.1.jar
5. project, right click, open module settings, app, dependencies, +, File dependency and add the 3 files
6. now everything should compile properly
7
A.Bahrami 2018-09-30 07:12.

Nếu bạn muốn nhập một số lớp như:

import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;

Bạn có thể thêm dòng sau vào build.gradle (Gradle phụ thuộc)

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support:support-v4:27.1.0'

    .
    .
    .

    implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

}
6
Mostafa Abdellateef 2015-09-29 02:38.

Bạn chỉ cần thêm điều này vào các phụ thuộc Gradle:

compile "org.apache.httpcomponents:httpcore:4.3.2"
6
user3766643 2015-12-24 16:40.

Bản phát hành Android 6.0 (API Cấp 23) loại bỏ hỗ trợ cho ứng dụng Apache HTTP. Do đó bạn không thể sử dụng thư viện này trực tiếp trong API 23. Nhưng có một cách để sử dụng nó. Thêm useLibrary 'org.apache.http.legacy' trong tệp build.gradle của bạn như bên dưới-

android {
    useLibrary 'org.apache.http.legacy'
}

Nếu điều này không hiệu quả, bạn có thể áp dụng cách hack-

- Sao chép org.apache.http.legacy.jar nằm trong / platform / android-23 / đường dẫn tùy chọn của thư mục Android SDK của bạn vào thư mục app / libs của dự án.

- Bây giờ Thêm tệp biên dịch ('libs / org.apache.http.legacy.jar') bên trong phần phụ thuộc {} của tệp build.gradle.

5
Kirtan 2015-08-22 21:15.

ApacheHttp Client bị xóa trong sdk v23. Bạn có thể sử dụng HttpURLConnection hoặc Http Client của bên thứ ba như OkHttp.

giới thiệu: https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client

4
Kaushal Kishor 2015-12-30 02:49.

Chỉ cần sử dụng cái này: -

android {
         .
         .
         .
 useLibrary 'org.apache.http.legacy'
         .
         .
         .
          }
4
Sneha Patel 2016-07-12 00:05.

HttpClient không được hỗ trợ trong sdk 23 và 23+.

Nếu bạn cần sử dụng vào sdk 23, hãy thêm mã dưới đây vào gradle của bạn:

android {
    useLibrary 'org.apache.http.legacy'
}

Nó làm việc cho tôi. Hy vọng hữu ích cho bạn.

4
Shiv Buyya 2016-07-12 20:56.

Nếu bạn cần sdk 23, hãy thêm cái này vào gradle của bạn:

android {
    useLibrary 'org.apache.http.legacy'
}
4
Nilesh 2016-12-04 01:17.

Bạn chỉ cần thêm một dòng

useLibrary 'org.apache.http.legacy'

vào build.gradle (Module: app), chẳng hạn

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "25.0.0"

    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.avenues.lib.testotpappnew"
        minSdkVersion 15
        targetSdkVersion 24
        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(dir: 'libs', include: ['*.jar'])
    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:24.2.1'
    testCompile 'junit:junit:4.12'
}
3
John smith 2015-08-22 21:14.

Bạn có mục tiêu API nào trong dự án của mình? AndroidHttpClientchỉ dành cho API Cấp 8 <. và hãy xem ở đây

thưởng thức mã của bạn :)

3
Alejandro Pablo Tkachuk 2017-06-09 07:01.

Như đã đề cập trước đây, org.apache.http.client.HttpClientkhông được hỗ trợ thêm trong:

SDK (cấp API) # 23.

Bạn phải sử dụng java.net.HttpURLConnection.

Nếu bạn muốn làm cho mã của bạn (và cuộc sống) dễ dàng hơn khi sử dụng HttpURLConnection, đây là một Wrapperlớp học này sẽ cho phép bạn làm thao tác đơn giản với GET, POSTPUTsử dụng JSON, ví dụ như, làm một HTTP PUT.

HttpRequest request = new HttpRequest(API_URL + PATH).addHeader("Content-Type", "application/json");
int httpCode = request.put(new JSONObject().toString());
if (HttpURLConnection.HTTP_OK == httpCode) {
    response = request.getJSONObjectResponse();
} else {
  // log error
}
httpRequest.close()

Hãy sử dụng nó.

package com.calculistik.repository;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 * <p>
 * Copyright © 2017, Calculistik . All rights reserved.
 * <p>
 * Oracle and Java are registered trademarks of Oracle and/or its
 * affiliates. Other names may be trademarks of their respective owners.
 * <p>
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common
 * Development and Distribution License("CDDL") (collectively, the
 * "License"). You may not use this file except in compliance with the
 * License. You can obtain a copy of the License at
 * https://netbeans.org/cddl-gplv2.html or
 * nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific
 * language governing permissions and limitations under the License.
 * When distributing the software, include this License Header
 * Notice in each file and include the License file at
 * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this particular file
 * as subject to the "Classpath" exception as provided by Oracle in the
 * GPL Version 2 section of the License file that accompanied this code. If
 * applicable, add the following below the License Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 * <p>
 * Contributor(s):
 * Created by alejandro tkachuk @aletkachuk
 * www.calculistik.com
 */
public class HttpRequest {

    public static enum Method {
        POST, PUT, DELETE, GET;
    }

    private URL url;
    private HttpURLConnection connection;
    private OutputStream outputStream;
    private HashMap<String, String> params = new HashMap<String, String>();

    public HttpRequest(String url) throws IOException {
        this.url = new URL(url);
        connection = (HttpURLConnection) this.url.openConnection();
    }

    public int get() throws IOException {
        return this.send();
    }

    public int post(String data) throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.POST.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        this.sendData(data);
        return this.send();
    }

    public int post() throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.POST.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        return this.send();
    }

    public int put(String data) throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.PUT.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        this.sendData(data);
        return this.send();
    }

    public int put() throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.PUT.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        return this.send();
    }

    public HttpRequest addHeader(String key, String value) {
        connection.setRequestProperty(key, value);
        return this;
    }

    public HttpRequest addParameter(String key, String value) {
        this.params.put(key, value);
        return this;
    }

    public JSONObject getJSONObjectResponse() throws JSONException, IOException {
        return new JSONObject(getStringResponse());
    }

    public JSONArray getJSONArrayResponse() throws JSONException, IOException {
        return new JSONArray(getStringResponse());
    }

    public String getStringResponse() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder response = new StringBuilder();
        for (String line; (line = br.readLine()) != null; ) response.append(line + "\n");
        return response.toString();
    }

    public byte[] getBytesResponse() throws IOException {
        byte[] buffer = new byte[8192];
        InputStream is = connection.getInputStream();
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        for (int bytesRead; (bytesRead = is.read(buffer)) >= 0; )
            output.write(buffer, 0, bytesRead);
        return output.toByteArray();
    }

    public void close() {
        if (null != connection)
            connection.disconnect();
    }

    private int send() throws IOException {
        int httpStatusCode = HttpURLConnection.HTTP_BAD_REQUEST;

        if (!this.params.isEmpty()) {
            this.sendData();
        }
        httpStatusCode = connection.getResponseCode();

        return httpStatusCode;
    }

    private void sendData() throws IOException {
        StringBuilder result = new StringBuilder();
        for (Map.Entry<String, String> entry : params.entrySet()) {
            result.append((result.length() > 0 ? "&" : "") + entry.getKey() + "=" + entry.getValue());//appends: key=value (for first param) OR &key=value(second and more)
        }
        sendData(result.toString());
    }

    private HttpRequest sendData(String query) throws IOException {
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
        writer.write(query);
        writer.close();
        return this;
    }

}
2
Ramindu Rusara Senarath 2016-11-19 19:35.

Thêm hai dòng này dưới phần phụ thuộc

compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'

sau đó

useLibrary 'org.apache.http.legacy'

dưới android

1
Pre_hacker 2015-12-07 23:25.

Một cách khác là nếu bạn có tệp httpclient.jar thì bạn có thể thực hiện việc này:

Dán tệp .jar của bạn vào "thư mục libs" trong dự án của bạn. Sau đó, trong gradle, hãy thêm dòng này vào build.gradle (Mô-đun: ứng dụng) của bạn

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.0'
compile files('libs/httpcore-4.3.3.jar')
}
0
Eshan Chattaraj 2017-08-30 20:11.

Lỗi: (30, 0) Không tìm thấy phương thức Gradle DSL: 'classpath ()' Nguyên nhân có thể:

  • Dự án 'cid' có thể đang sử dụng phiên bản của trình cắm thêm Android Gradle không chứa phương thức (ví dụ: 'testCompile' đã được thêm vào 1.1.0). Nâng cấp plugin lên phiên bản 2.3.3 và đồng bộ hóa dự án
  • Dự án 'cid' có thể đang sử dụng phiên bản Gradle không chứa phương thức này. Mở tệp trình bao bọc Gradle
  • Tệp xây dựng có thể thiếu plugin Gradle. Áp dụng plugin Gradle
  • 0
    Wowo Ot 2020-03-18 09:23.

    Đối với API android 28 trở lên trong thẻ ứng dụng bên trong Manifest.xml

        <application
        .
        .
        .
    
        <uses-library android:name="org.apache.http.legacy" android:required="false"/>
    

    Related questions

    MORE COOL STUFF

    Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

    Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

    Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

    Tại sao Michael Sheen là một diễn viên phi lợi nhuận

    Tại sao Michael Sheen là một diễn viên phi lợi nhuận

    Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

    Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

    Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

    Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

    Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

    Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

    Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

    Where in the World Are You? Take our GeoGuesser Quiz

    Where in the World Are You? Take our GeoGuesser Quiz

    The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

    8 công dụng tuyệt vời của Baking Soda và Giấm

    8 công dụng tuyệt vời của Baking Soda và Giấm

    Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

    Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

    Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

    Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

    Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

    Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

    Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

    Tận dụng lợi thế của việc bán hàng nhân Ngày của Cha này

    Tận dụng lợi thế của việc bán hàng nhân Ngày của Cha này

    Màn hình Samsung Galaxy S9 Plus. Chủ nhật này là Ngày của Cha⁠ — trong trường hợp nó khiến bạn suy nghĩ — và thay vì mua cho anh ấy một chiếc cà vạt trong năm nay, có lẽ đã đến lúc bạn mua cho anh ấy thứ mà anh ấy sẽ thực sự sử dụng.

    Assassin's Creed Snuck Into Monster Hunter: World Last Night

    Assassin's Creed Snuck Into Monster Hunter: World Last Night

    Monster Hunter: World yêu thích các sự kiện chéo. Dù có nghĩa là hóa trang thành Dante của Devil May Cry, giả dạng Horizon: Zero Dawn's Aloy, hay chiến đấu với quái vật Final Fantasy, các nhiệm vụ sự kiện khác nhau của Thế giới được nâng cấp tự do so với các trò chơi khác.

    Ava DuVernay Có Quà Tặng Ngày Của Mẹ cho Tất Cả Chúng Ta: Nếp Nhăn Thời Gian Sẽ Được Viết Lại Vào Cuối Tuần Ngày Của Mẹ!

    Ava DuVernay Có Quà Tặng Ngày Của Mẹ cho Tất Cả Chúng Ta: Nếp Nhăn Thời Gian Sẽ Được Viết Lại Vào Cuối Tuần Ngày Của Mẹ!

    Storm Reid, Oprah Winfrey, Mindy Kaling, Reese Witherspoon và Ava DuVernay tại buổi chiếu đặc biệt của A Wrinkle in Time tại Nhà hát Walter Reade ở Thành phố New York vào ngày 7 tháng 3 năm 2018 “Ava rất mong được nói chuyện với bạn,” một trong những người của Array dư luận viên nói qua điện thoại. (Array là tập thể phân phối, nghệ thuật và vận động chính sách của Ava DuVernay tập trung vào các bộ phim của người da màu và phụ nữ.

    Nhiệm vụ bất khả thi 5 sẽ khôi phục niềm tin của bạn trong phim hành động Tentpole

    Nhiệm vụ bất khả thi 5 sẽ khôi phục niềm tin của bạn trong phim hành động Tentpole

    Mission Impossible: Rogue Nation bắt đầu ở một cấp độ khác. Theo nghĩa đen.

    Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

    Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

    McCain, người đang làm việc cho một album mới, lần đầu tiên bước vào vòng kết nối vào tối thứ Sáu ở Nashville

    Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

    Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

    Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

    Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

    Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

    Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

    17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

    17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

    Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

    Tôi viết như thế nào

    Tôi viết như thế nào

    Đối với tôi, mọi thứ là về dòng đầu tiên đó và nó sẽ đưa bạn đến đâu. Một số nhà văn bị điều khiển bởi cốt truyện, sự sắp xếp tinh tế của các quân cờ, trong khi những người khác bị lôi cuốn bởi một nhân vật và khả năng thực hiện một cuộc hành trình với một người bạn hư cấu mới.

    Đường băng hạ cánh

    Đường băng hạ cánh

    Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

    Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

    Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

    Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

    Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

    Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

    Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

    Language